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.