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ä.