Kuinka lisätä avoimien tiedostojen määrää Linuxissa


Linuxissa voit muuttaa avoimien tiedostojen enimmäismäärää. Voit muokata tätä numeroa ulimit-komennolla. Se antaa sinulle mahdollisuuden hallita kuoren tai sen käynnistämän prosessin käytettävissä olevia resursseja.

Lue myös: Aseta Linuxin käyttöprosessien rajoitukset käyttäjäkohtaisesti

Tässä lyhyessä opetusohjelmassa näytämme, kuinka voit tarkistaa avoimien tiedostojen ja tiedostojen kuvausten nykyisen rajan, mutta tehdäksesi niin, sinulla on oltava pääkäyttäjän oikeudet järjestelmääsi.

Ensinnäkin, katsotaan kuinka voimme selvittää Linux-järjestelmässäsi avattujen tiedostojen kuvaimien enimmäismäärän.

Etsi Linux Open File Limit

Arvo on tallennettu:

cat /proc/sys/fs/file-max

818354

Näkyvä numero näyttää tiedostojen määrän, jotka käyttäjä voi avata sisäänkirjautumisistuntoa kohti. Tulos voi olla erilainen järjestelmästäsi riippuen.

Esimerkiksi CentOS-palvelimellani rajaksi asetettiin 818354, kun taas kotona käyttämässäni Ubuntu-palvelimessa oletusraja oli asetettu arvoon 176772.

Jos haluat nähdä kovat ja pehmeät rajat, voit käyttää seuraavia komentoja:

Tarkista kova raja Linuxissa

ulimit -Hn

4096

Tarkista pehmeät rajat Linuxissa

ulimit -Sn

1024

Jos haluat nähdä eri käyttäjien kovat ja pehmeät arvot, voit vaihtaa käyttäjän valitsemalla su käyttäjäksi, jonka rajat haluat tarkistaa.

Esimerkiksi:

su marin
ulimit -Sn

1024
ulimit -Hn

4096

Järjestelmän laajuisten tiedostokuvausrajoitusten tarkistaminen Linuxissa

Jos käytät palvelinta, jotkin sovelluksesi voivat vaatia korkeampia rajoituksia avattujen tiedostojen kuvauksille. Hyvä esimerkki sellaisista ovat MySQL/MariaDB-palvelut tai Apache-verkkopalvelin.

Voit suurentaa avattujen tiedostojen määrää Linuxissa muokkaamalla ytimen käskyä fs.file-max. Tätä tarkoitusta varten voit käyttää sysctl-apuohjelmaa.

Sysctl:ää käytetään ytimen parametrien määrittämiseen suorituksen aikana.

Jos haluat esimerkiksi kasvattaa avoimien tiedostojen rajan 500 000:ksi, voit käyttää seuraavaa komentoa pääkäyttäjänä:

sysctl -w fs.file-max=500000

Voit tarkistaa avattujen tiedostojen nykyisen arvon seuraavalla komennolla:

cat /proc/sys/fs/file-max

Yllä olevalla komennolla tekemäsi muutokset pysyvät aktiivisina vain seuraavaan uudelleenkäynnistykseen asti. Jos haluat ottaa ne käyttöön pysyvästi, sinun on muokattava seuraavaa tiedostoa:

vi /etc/sysctl.conf

Lisää seuraava rivi:

fs.file-max=500000

Voit tietysti muuttaa numeroa tarpeidesi mukaan. Vahvista muutokset uudelleen käyttämällä:

cat /proc/sys/fs/file-max

Käyttäjien on kirjauduttava ulos ja kirjauduttava sisään uudelleen, jotta muutokset tulevat voimaan. Jos haluat ottaa rajan käyttöön välittömästi, voit käyttää seuraavaa komentoa:

sysctl -p

Aseta käyttäjätason Open File -rajoitukset Linuxissa

Yllä olevat esimerkit osoittivat, kuinka globaalit rajoitukset asetetaan, mutta saatat haluta soveltaa rajoituksia käyttäjäkohtaisesti. Tätä tarkoitusta varten käyttäjän pääkäyttäjänä sinun on muokattava seuraavaa tiedostoa:

vi /etc/security/limits.conf

Jos olet Linux-järjestelmänvalvoja, suosittelen, että tutustut hyvin kyseiseen tiedostoon ja siihen, mitä voit tehdä sille. Lue kaikki sen kommentit, koska se tarjoaa suurta joustavuutta järjestelmäresurssien hallinnassa rajoittamalla käyttäjiä/ryhmiä eri tasoilla.

Rivit, jotka sinun pitäisi lisätä, ovat seuraavat parametrit:

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

Tässä on esimerkki pehmeiden ja kovien rajoitusten asettamisesta käyttäjälle marin:

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

Lopulliset ajatukset

Tämä lyhyt artikkeli osoitti perusesimerkin siitä, kuinka voit tarkistaa ja määrittää globaaleja ja käyttäjätason rajoituksia avattujen tiedostojen enimmäismäärälle.

Vaikka olemme juuri raaputtaneet pintaa, kehotan sinua tutustumaan tarkemmin ja lukemaan aiheet /etc/sysctl.conf ja /etc/security/limits.conf ja oppia käyttämään niitä. He ovat suureksi avuksi sinulle jonain päivänä.