Giunsa Pagdugang ang Gidaghanon sa Open Files Limit sa Linux


Sa Linux, mahimo nimong usbon ang labing kadaghan nga bukas nga mga file. Mahimo nimong usbon kini nga numero pinaagi sa paggamit sa ulimit nga mando. Gihatagan ka niini og katakus nga makontrol ang mga kapanguhaan nga magamit alang sa kabhang o proseso nga gisugdan niini.

Niini nga mubo nga panudlo ipakita namo kanimo kung unsaon pagsusi sa imong kasamtangan nga limitasyon sa bukas nga mga file ug mga paghulagway sa mga file, apan aron mahimo kini, kinahanglan nimo nga adunay root access sa imong sistema.

Una, Atong tan-awon kung giunsa naton mahibal-an ang labing kadaghan nga giablihan nga mga deskriptor sa file sa imong sistema sa Linux.

Pangitaa ang Linux Open File Limit

Ang bili gitipigan sa:

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

818354

Ang numero nga imong makita, nagpakita sa gidaghanon sa mga file nga maablihan sa usa ka user kada sesyon sa pag-login. Ang resulta mahimong lahi depende sa imong sistema.

Pananglitan sa usa ka CentOS server nako, ang limitasyon gitakda sa 818354, samtang sa Ubuntu server nga akong gipadagan sa balay ang default nga limitasyon gitakda sa 176772.

Kung gusto nimo makita ang gahi ug humok nga mga limitasyon, mahimo nimong gamiton ang mosunod nga mga sugo:

# ulimit -Hn

4096
# ulimit -Sn

1024

Aron makita ang gahi ug humok nga mga kantidad alang sa lainlaing mga tiggamit, mahimo nimong ibalhin ang tiggamit gamit ang su sa tiggamit nga naglimite sa gusto nimong susihon.

Pananglitan:

# su marin
$ ulimit -Sn

1024
$ ulimit -Hn

4096

Unsaon Pagsusi sa System wide File Descriptors Limits sa Linux

Kung nagdagan ka sa usa ka server, ang pipila sa imong mga aplikasyon mahimong magkinahanglan og mas taas nga mga limitasyon alang sa giablihan nga mga deskriptor sa file. Ang usa ka maayong panig-ingnan alang niini mao ang mga serbisyo sa MySQL/MariaDB o Apache web server.

Mahimo nimong dugangan ang limitasyon sa giablihan nga mga file sa Linux pinaagi sa pag-edit sa kernel nga direktiba fs.file-max. Alang niana nga katuyoan, mahimo nimong gamiton ang sysctl utility.

Ang Sysctl gigamit sa pag-configure sa mga parameter sa kernel sa runtime.

Pananglitan, aron madugangan ang limitasyon sa bukas nga file ngadto sa 500000, mahimo nimong gamiton ang mosunod nga sugo isip gamut:

# sysctl -w fs.file-max=500000

Mahimo nimong susihon ang kasamtangan nga bili alang sa giablihan nga mga file gamit ang mosunod nga sugo:

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

Uban sa sugo sa ibabaw ang mga pagbag-o nga imong nahimo magpabilin nga aktibo hangtod sa sunod nga pag-reboot. Kung gusto nimo nga i-apply kini nga permanente, kinahanglan nimo nga usbon ang mosunod nga file:

# vi /etc/sysctl.conf

Idugang ang mosunod nga linya:

fs.file-max=500000

Siyempre, mahimo nimong usbon ang numero sa imong mga panginahanglan. Aron mapamatud-an pag-usab ang mga pagbag-o gamita ang:

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

Ang mga tiggamit kinahanglan nga mag-logout ug mag-login pag-usab aron matuman ang mga pagbag-o. Kung gusto nimo i-apply dayon ang limitasyon, mahimo nimong gamiton ang mosunud nga mando:

# sysctl -p

Ibutang ang User Level Open File limit sa Linux

Ang mga pananglitan sa ibabaw, nagpakita kung giunsa ang pagtakda sa mga limitasyon sa kalibutan, apan mahimo nimong i-apply ang mga limitasyon matag basehanan sa tiggamit. Alang niana nga katuyoan, isip user root, kinahanglan nimo nga i-edit ang mosunod nga file:

# vi /etc/security/limits.conf

Kung ikaw usa ka administrador sa Linux, gisugyot ko kanimo nga pamilyar ka kaayo sa kana nga file ug kung unsa ang imong mahimo niini. Basaha ang tanan nga mga komentaryo niini tungod kay naghatag kini og dako nga pagka-flexible sa mga termino sa pagdumala sa mga kapanguhaan sa sistema pinaagi sa paglimit sa mga tiggamit/grupo sa lain-laing lebel.

Ang mga linya nga kinahanglan nimong idugang nagkuha sa mosunod nga mga parameter:

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

Ania ang usa ka pananglitan sa pagbutang sa usa ka humok ug lisud nga mga limitasyon alang sa user marin:

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

Katapusan nga mga hunahuna

Kining mubo nga artikulo nagpakita kanimo ug batakang pananglitan kon sa unsang paagi nimo masusi ug ma-configure ang mga limitasyon sa lebel sa tibuok kalibutan ug user para sa maximum nga gidaghanon sa giablihan nga mga file.

Samtang bag-o lang kami nagkubkob, gidasig ko ikaw nga adunay usa ka mas detalyado nga pagtan-aw ug pagbasa bahin sa /etc/sysctl.conf ug /etc/security/limits.conf ug pagkat-on unsaon paggamit niini. Dako silag ikatabang nimo sa umaabot.