Hogyan lehet növelni a megnyitott fájlok számának korlátját Linuxban
Linux alatt módosíthatja a megnyitott fájlok maximális számát. Ezt a számot az ulimit paranccsal módosíthatja. Lehetővé teszi a shell vagy az általa elindított folyamat számára rendelkezésre álló erőforrások vezérlését.
Olvassa el még: Állítsa be a Linux futtatási folyamatok korlátait felhasználónkénti szinten
Ebben a rövid oktatóanyagban megmutatjuk, hogyan ellenőrizheti a megnyitott fájlok és fájlleírások jelenlegi korlátját, de ehhez root hozzáféréssel kell rendelkeznie a rendszerhez.
Először is nézzük meg, hogyan tudhatjuk meg a megnyitott fájlleírók maximális számát a Linux rendszeren.
Keresse meg a Linux Open File Limit elemet
Az érték a következő helyen van tárolva:
cat /proc/sys/fs/file-max
818354
A megjelenő szám azt mutatja, hogy egy felhasználó hány fájlt nyithat meg bejelentkezési munkamenetenként. Az eredmény a rendszertől függően eltérő lehet.
Például egy CentOS szerveremen a korlát a 818354 értékre volt állítva, míg az általam otthon futtatott Ubuntu szerveren az alapértelmezett korlát a következő volt. 176772 értékre állítva.
Ha látni szeretné a kemény és lágy határokat, használja a következő parancsokat:
Ellenőrizze a kemény határértéket Linuxban
ulimit -Hn
4096
Ellenőrizze a lágy korlátokat Linuxban
ulimit -Sn
1024
A különböző felhasználók kemény és lágy értékeinek megtekintéséhez egyszerűen váltson felhasználót a „su” gombbal arra a felhasználóra, amelyet ellenőrizni szeretne.
Például:
su marin
ulimit -Sn
1024
ulimit -Hn
4096
A rendszerszintű fájlleírók korlátainak ellenőrzése Linuxban
Ha kiszolgálót futtat, egyes alkalmazásai magasabb korlátokat igényelhetnek a megnyitott fájlleírók számára. Jó példa erre a MySQL/MariaDB szolgáltatások vagy az Apache webszerver.
Növelheti a megnyitott fájlok korlátját Linux alatt az fs.file-max
kerneldirektíva szerkesztésével. Erre a célra használhatja a sysctl segédprogramot.
A Sysctl a kernelparaméterek futásidejű konfigurálására szolgál.
Ha például a megnyitott fájlok korlátját 500 000-ra szeretné növelni, a következő parancsot használhatja rootként:
sysctl -w fs.file-max=500000
A megnyitott fájlok aktuális értékét a következő paranccsal ellenőrizheti:
cat /proc/sys/fs/file-max
A fenti paranccsal végrehajtott változtatások csak a következő újraindításig maradnak aktívak. Ha véglegesen alkalmazni szeretné őket, szerkesztenie kell a következő fájlt:
vi /etc/sysctl.conf
Adja hozzá a következő sort:
fs.file-max=500000
Természetesen a számot igény szerint módosíthatja. A változtatások ismételt ellenőrzéséhez használja:
cat /proc/sys/fs/file-max
A felhasználóknak ki kell jelentkezniük, majd újra be kell jelentkezniük ahhoz, hogy a változtatások érvénybe lépjenek. Ha azonnal alkalmazni szeretné a korlátot, használja a következő parancsot:
sysctl -p
Felhasználói szintű Fájlok megnyitási korlátainak beállítása Linuxban
A fenti példák megmutatták, hogyan állíthat be globális korlátokat, de érdemes lehet felhasználónként korlátokat alkalmazni. Ebből a célból root felhasználóként szerkesztenie kell a következő fájlt:
vi /etc/security/limits.conf
Ha Ön Linux rendszergazda, azt javaslom, hogy ismerkedjen meg ezzel a fájllal és azzal, hogy mit tehet vele. Olvassa el az összes megjegyzést, mivel a felhasználók/csoportok különböző szinteken történő korlátozásával nagy rugalmasságot biztosít a rendszererőforrások kezelésében.
A hozzáadandó sorok a következő paramétereket veszik fel:
<domain> <type> <item> <value>
Íme egy példa lágy és kemény korlátok beállítására a marin felhasználó számára:
## Example hard limit for max opened files
marin hard nofile 4096
## Example soft limit for max opened files
marin soft nofile 1024
Végső gondolatok
Ez a rövid cikk egy alapvető példát mutatott be arra vonatkozóan, hogyan ellenőrizheti és konfigurálhatja a globális és felhasználói szintű korlátozásokat a megnyitott fájlok maximális számához.
Miközben csak megkarcoltuk a felszínt, nagyon ajánlom, hogy tekintse át részletesebben és olvassa el az /etc/sysctl.conf és az /etc/security/limits.conf és megtanulják használni őket. Egy napon nagy segítségedre lesznek.