Kā palielināt atvērto failu ierobežojumu skaitu Linux


Linux operētājsistēmā varat mainīt atvērto failu maksimālo daudzumu. Šo numuru var modificēt, izmantojot komandu ulimit. Tas dod jums iespēju kontrolēt resursus, kas pieejami čaulai vai tās sāktajam procesam.

Šajā īsajā apmācībā mēs parādīsim, kā pārbaudīt atvērto failu un failu aprakstu pašreizējo ierobežojumu, taču, lai to izdarītu, jums būs nepieciešama root piekļuve savai sistēmai.

Pirmkārt, ļaujiet uzzināt, kā mēs varam uzzināt maksimālo atvērto failu deskriptoru skaitu jūsu Linux sistēmā.

Atrodiet Linux Open File Limit

Vērtība tiek saglabāta:

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

818354

Numurs, kuru redzēsiet, parāda failu skaitu, ko lietotājs var atvērt vienā pieteikšanās sesijā. Rezultāts var būt atšķirīgs atkarībā no jūsu sistēmas.

Piemēram, manā CentOS serverī ierobežojums tika iestatīts uz 818354, savukārt Ubuntu serverī, kuru palaidu mājās, noklusējuma ierobežojums bija noteikts 176772.

Ja vēlaties redzēt stingrās un mīkstākās robežas, varat izmantot šādas komandas:

# ulimit -Hn

4096
# ulimit -Sn

1024

Lai redzētu dažādu lietotāju cietās un mīkstās vērtības, varat vienkārši pārslēgt lietotāju ar “su” uz lietotāju, kas ierobežo pārbaudāmo vērtību.

Piemēram:

# su marin
$ ulimit -Sn

1024
$ ulimit -Hn

4096

Kā pārbaudīt visas sistēmas faila deskriptoru ierobežojumus Linux

Ja izmantojat serveri, dažām jūsu lietojumprogrammām var būt nepieciešami augstāki atvērto failu deskriptoru ierobežojumi. Labs piemērs šādiem ir MySQL/MariaDB pakalpojumi vai Apache tīmekļa serveris.

Linux sistēmā var palielināt atvērto failu ierobežojumu, rediģējot kodola direktīvu fs.file-max . Šim nolūkam varat izmantot utilītu sysctl.

Sysctl tiek izmantots kodola parametru konfigurēšanai izpildlaikā.

Piemēram, lai palielinātu atvērto failu ierobežojumu līdz 500000, kā root varat izmantot šādu komandu:

# sysctl -w fs.file-max=500000

Atvērto failu pašreizējo vērtību varat pārbaudīt ar šādu komandu:

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

Izmantojot iepriekš minēto komandu, veiktās izmaiņas paliks aktīvas tikai līdz nākamajai pārstartēšanai. Ja vēlaties tos lietot neatgriezeniski, jums būs jārediģē šāds fails:

# vi /etc/sysctl.conf

Pievienojiet šādu rindu:

fs.file-max=500000

Protams, jūs varat mainīt numuru atbilstoši savām vajadzībām. Lai vēlreiz pārbaudītu izmaiņas, izmantojiet:

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

Lai izmaiņas stātos spēkā, lietotājiem būs jāpiesakās un jāpiesakās vēlreiz. Ja vēlaties nekavējoties piemērot ierobežojumu, varat izmantot šādu komandu:

# sysctl -p

Iestatiet Linux līmeņa lietotāja līmeņa atvērto failu ierobežojumus

Iepriekš minētie piemēri parādīja, kā noteikt globālos ierobežojumus, taču, iespējams, vēlēsities piemērot ierobežojumus katram lietotājam. Šim nolūkam kā lietotāja saknei jums būs jārediģē šāds fails:

# vi /etc/security/limits.conf

Ja esat Linux administrators, iesaku jums ļoti labi iepazīties ar šo failu un to, ko ar to varat darīt. Izlasiet visus tajā esošos komentārus, jo tas nodrošina lielu elastību attiecībā uz sistēmas resursu pārvaldību, ierobežojot lietotāju/grupu dažādos līmeņos.

Pievienojamās rindas ņem šādus parametrus:

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

Šeit ir piemērs, kā iestatīt mīkstas un stingras robežas lietotāja marin:

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

Pēdējās domas

Šajā īsajā rakstā tika parādīts pamatpiemērs tam, kā jūs varat pārbaudīt un konfigurēt globālā un lietotāja līmeņa ierobežojumus maksimālajam atvērto failu skaitam.

Kamēr mēs tikko saskrāpējām virsmu, es ļoti iesaku detalizētāk izskatīt un izlasīt /etc/sysctl.conf un /etc/security/limits.conf un uzzināt, kā tos izmantot. Kādu dienu tie jums ļoti palīdzēs.