Kif Iżżid in-Numru ta 'Limitu ta' Fajls Miftuħa fil-Linux


Fil-Linux, tista 'tbiddel l-ammont massimu ta' fajls miftuħa. Tista' timmodifika dan in-numru billi tuża l-kmand ulimit. Jagħtik il-ħila li tikkontrolla r-riżorsi disponibbli għall-qoxra jew il-proċess mibdi minnha.

F'dan it-tutorja qasira ser nuruk kif tiċċekkja l-limitu attwali tiegħek ta 'fajls miftuħa u deskrizzjonijiet ta' fajls, iżda biex tagħmel dan, ser ikollok bżonn li jkollok aċċess għall-għeruq għas-sistema tiegħek.

L-ewwel, Ejja naraw kif nistgħu nsibu n-numru massimu ta 'deskritturi tal-fajls miftuħa fuq is-sistema Linux tiegħek.

Sib Linux Open File Limit

Il-valur huwa maħżun fi:

# cat /proc/sys/fs/file-max

818354

In-numru li se tara, juri n-numru ta' fajls li utent seta' fetaħ għal kull sessjoni ta' login. Ir-riżultat jista 'jkun differenti skond is-sistema tiegħek.

Per eżempju fuq server CentOS tiegħi, il-limitu ġie stabbilit għal 818354, filwaqt li fuq is-server Ubuntu li nmexxi d-dar il-limitu default kien stabbilit għal 176772.

Jekk trid tara l-limiti iebsin u rotob, tista 'tuża l-kmandi li ġejjin:

# ulimit -Hn

4096
# ulimit -Sn

1024

Biex tara l-valuri iebsa u rotob għal utenti differenti, tista 'sempliċement taqleb l-utent b'su għall-utent liema limiti trid tiċċekkja.

Pereżempju:

# su marin
$ ulimit -Sn

1024
$ ulimit -Hn

4096

Kif Tiċċekkja l-Limiti tad-Deskritturi tal-Fajl tas-Sistema kollha fil-Linux

Jekk qed tħaddem server, xi wħud mill-applikazzjonijiet tiegħek jistgħu jeħtieġu limiti ogħla għal deskritturi tal-fajls miftuħa. Eżempju tajjeb għal dawn huma s-servizzi MySQL/MariaDB jew is-server tal-web Apache.

Tista' żżid il-limitu ta' fajls miftuħa fil-Linux billi teditja d-direttiva tal-kernel fs.file-max. Għal dak il-għan, tista' tuża l-utilità sysctl.

Sysctl jintuża biex jiġi kkonfigurat il-parametri tal-kernel waqt ir-runtime.

Pereżempju, biex iżżid il-limitu tal-fajl miftuħ għal 500000, tista' tuża l-kmand li ġej bħala root:

# sysctl -w fs.file-max=500000

Tista 'tiċċekkja l-valur kurrenti għall-fajls miftuħa bil-kmand li ġej:

$ cat /proc/sys/fs/file-max

Bil-kmand ta 'hawn fuq il-bidliet li għamilt se jibqgħu attivi biss sal-reboot li jmiss. Jekk tixtieq tapplikahom b'mod permanenti, ikollok teditja l-fajl li ġej:

# vi /etc/sysctl.conf

Żid il-linja li ġejja:

fs.file-max=500000

Naturalment, tista 'tbiddel in-numru skond il-bżonnijiet tiegħek. Biex tivverifika l-bidliet mill-ġdid uża:

# cat /proc/sys/fs/file-max

L-utenti se jkollhom il-logout u jerġgħu jidħlu biex il-bidliet jidħlu fis-seħħ. Jekk trid tapplika l-limitu immedjatament, tista 'tuża l-kmand li ġej:

# sysctl -p

Issettja l-limiti tal-Fajl Miftuħ tal-Livell tal-Utent fil-Linux

L-eżempji ta 'hawn fuq, wrew kif jiġu stabbiliti limiti globali, iżda tista' tkun trid tapplika limiti għal kull bażi ta 'utent. Għal dak il-għan, bħala utent root, ser ikollok bżonn teditja l-fajl li ġej:

# vi /etc/security/limits.conf

Jekk inti amministratur tal-Linux, nissuġġerik li ssir familjari ħafna ma' dak il-fajl u x'tista' tagħmel miegħu. Aqra l-kummenti kollha fiha peress li tipprovdi flessibilità kbira f'termini ta 'ġestjoni tar-riżorsi tas-sistema billi tillimita utenti/gruppi fuq livelli differenti.

Il-linji li għandek iżżid jieħdu l-parametri li ġejjin:

<domain>        <type>  <item>  <value>

Hawn hu eżempju ta 'l-iffissar ta' limiti artab u iebes għall-utent marin:

## Example hard limit for max opened files
marin        hard nofile 4096
## Example soft limit for max opened files
marin        soft nofile 1024

Ħsibijiet finali

Dan l-artikolu fil-qosor urek eżempju bażiku ta’ kif tista’ tiċċekkja u tikkonfigura limiti globali u tal-livell tal-utent għal numru massimu ta’ fajls miftuħa.

Filwaqt li aħna biss scratch-wiċċ, inħeġġeġ ħafna li tagħti ħarsa aktar dettaljata u taqra dwar /etc/sysctl.conf u /etc/security/limits.conf u titgħallem kif tużahom. Huma ser ikunu ta’ għajnuna kbira għalik xi darba.