Linux-da açyk faýllaryň sanyny nädip köpeltmeli
Linux-da açyk faýllaryň iň köp mukdaryny üýtgedip bilersiňiz. Ulimit buýrugyny ulanyp, bu belgini üýtgedip bilersiňiz. Size gabygy ýa-da başlanan prosesi üçin bar bolan çeşmeleri dolandyrmak ukybyny berýär.
Bu gysga gollanmada size açyk faýllaryň we faýllaryň beýanynyň häzirki çägini nädip barlamalydygyny görkezeris, ýöne munuň üçin ulgamyňyza kök girmeli bolarsyňyz.
Ilki bilen, Linux ulgamyňyzda iň köp açylan faýl beýan edijisini nädip tapyp biljekdigimize göz aýlalyň.
Linux açyk faýl çägini tapyň
Bahasy şu ýerde saklanýar:
# cat /proc/sys/fs/file-max 818354
Görjek nomeriňiz, bir giriş sessiýasynda ulanyjynyň açyp biljek faýllarynyň sanyny görkezýär. Netije ulgamyňyza baglylykda başgaça bolup biler.
Mysal üçin, meniň CentOS serwerimde çäk 818354, öýde işleýän Ubuntu serwerimde deslapky çäk 176772 bellendi.
Gaty we ýumşak çäkleri görmek isleseňiz, aşakdaky buýruklary ulanyp bilersiňiz:
# ulimit -Hn 4096
# ulimit -Sn 1024
Dürli ulanyjylar üçin gaty we ýumşak bahalary görmek üçin, “su” bilen ulanyjyny barlamak isleýän ulanyja geçirip bilersiňiz.
Mysal üçin:
# su marin $ ulimit -Sn 1024
$ ulimit -Hn 4096
Linux-da giň faýl beýan edijileriň çäklerini nädip barlamaly
Serwer işleýän bolsaňyz, käbir programmalaryňyz açylan faýl beýan edijileri üçin has ýokary çäkleri talap edip biler. Munuň üçin gowy mysal MySQL/MariaDB hyzmatlary ýa-da Apache web serweri.
Linux-da açylan faýllaryň çägini fs.file-max
ýadro direktiwasyny redaktirläp artdyryp bilersiňiz. Şol maksat bilen sysctl kömekçi programmasyny ulanyp bilersiňiz.
Sysctl, iş wagty ýadro parametrlerini düzmek üçin ulanylýar.
Mysal üçin, açyk faýl çägini 500000-e ýetirmek üçin aşakdaky buýrugy kök hökmünde ulanyp bilersiňiz:
# sysctl -w fs.file-max=500000
Açylan faýllaryň häzirki bahasyny aşakdaky buýruk bilen barlap bilersiňiz:
$ cat /proc/sys/fs/file-max
Aboveokardaky buýruk bilen eden üýtgeşmeleriňiz diňe indiki açylýança işjeň bolar. Olary hemişelik ulanmak isleseňiz, aşakdaky faýly redaktirlemeli bolarsyňyz:
# vi /etc/sysctl.conf
Aşakdaky setiri goşuň:
fs.file-max=500000
Elbetde, islegiňize görä san üýtgedip bilersiňiz. Üýtgeşmeleri gaýtadan barlamak üçin ulanyň:
# cat /proc/sys/fs/file-max
Ulanyjylar üýtgeşmeleriň güýje girmegi üçin täzeden çykmaly we täzeden girmeli bolarlar. Çäkleri derrew ulanmak isleseňiz, aşakdaky buýrugy ulanyp bilersiňiz:
# sysctl -p
Linux-da Ulanyjy derejesini açyk faýl çäklerini düzüň
Aboveokardaky mysallar, global çäkleri nädip kesgitlemelidigini görkezdi, ýöne ulanyjylara görä çäkleri ulanyp bilersiňiz. Munuň üçin ulanyjy kökü hökmünde aşakdaky faýly redaktirlemeli bolarsyňyz:
# vi /etc/security/limits.conf
Linux dolandyryjysy bolsaňyz, şol faýl bilen tanyş bolmagyňyzy we oňa näme edip biljekdigiňizi maslahat berýärin. Ondaky teswirleriň hemmesini okaň, sebäbi dürli derejedäki ulanyjylary/toparlary çäklendirip, ulgam çeşmelerini dolandyrmak taýdan uly çeýeligi üpjün edýär.
Goşmaly setirleriňiz aşakdaky parametrleri alýar:
<domain> <type> <item> <value>
Ine, ulanyjy marinasy üçin ýumşak we gaty çäkleri kesgitlemegiň mysaly:
## Example hard limit for max opened files marin hard nofile 4096 ## Example soft limit for max opened files marin soft nofile 1024
Jemleýji pikirler
Bu gysga makala, açylan faýllaryň iň köp mukdary üçin global we ulanyjy derejesiniň çäklerini nädip barlap we sazlap boljakdygyny görkezýär.
Justaňy ýüzüni çyzanymyzda, has jikme-jik görünmegiňizi we /etc/sysctl.conf we /etc/security/limits.conf hakda okamagyňyzy we olary ulanmagy öwrenmegiňizi maslahat berýärin. Olar bir gün size uly kömek eder.