Hvernig á að auka fjölda opinna skráa í Linux


Í Linux geturðu breytt hámarksmagni opinna skráa. Þú getur breytt þessu númeri með því að nota ulimit skipunina. Það veitir þér möguleika á að stjórna tiltækum tilföngum fyrir skelina eða ferlið sem það byrjar.

Í þessari stuttu kennslu munum við sýna þér hvernig á að athuga núverandi takmörk á opnum skrám og skráalýsingum, en til að gera það þarftu að hafa rótaraðgang að kerfinu þínu.

Í fyrsta lagi skulum við sjá hvernig við getum fundið út hámarksfjölda opnaðra skráalýsinga á Linux kerfinu þínu.

Finndu Linux Open File Limit

Gildið er geymt í:

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

818354

Númerið sem þú munt sjá sýnir fjölda skráa sem notandi getur opnað fyrir hverja innskráningarlotu. Niðurstaðan gæti verið mismunandi eftir kerfinu þínu.

Til dæmis á CentOS netþjóni mínum voru takmörkin stillt á 818354, en á Ubuntu netþjóni sem ég keyri heima var sjálfgefið takmörk sett á 176772.

Ef þú vilt sjá hörðu og mjúku mörkin geturðu notað eftirfarandi skipanir:

# ulimit -Hn

4096
# ulimit -Sn

1024

Til að sjá hörðu og mjúku gildin fyrir mismunandi notendur geturðu einfaldlega skipt um notanda með „su“ yfir á þann notanda sem þú vilt athuga.

Til dæmis:

# su marin
$ ulimit -Sn

1024
$ ulimit -Hn

4096

Hvernig á að athuga takmörk kerfisbreiðs skráalýsinga í Linux

Ef þú ert að keyra netþjón gætu sum forritin þín þurft hærri mörk fyrir opna skráarlýsingar. Gott dæmi um slíkt eru MySQL/MariaDB þjónusta eða Apache vefþjónn.

Þú getur aukið mörkin á opnum skrám í Linux með því að breyta kjarnatilskipuninni fs.file-max. Í þeim tilgangi geturðu notað sysctl tólið.

Sysctl er notað til að stilla kjarnabreytur á keyrslutíma.

Til dæmis, til að auka takmörk opinna skráa í 500000, geturðu notað eftirfarandi skipun sem rót:

# sysctl -w fs.file-max=500000

Þú getur athugað núverandi gildi fyrir opnaðar skrár með eftirfarandi skipun:

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

Með ofangreindri skipun verða breytingarnar sem þú hefur gert aðeins virkar þar til næst endurræsa. Ef þú vilt beita þeim varanlega þarftu að breyta eftirfarandi skrá:

# vi /etc/sysctl.conf

Bættu við eftirfarandi línu:

fs.file-max=500000

Auðvitað geturðu breytt númerinu eftir þínum þörfum. Til að staðfesta breytingarnar aftur skaltu nota:

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

Notendur þurfa að skrá sig út og inn aftur til að breytingarnar taki gildi. Ef þú vilt beita takmörkunum strax geturðu notað eftirfarandi skipun:

# sysctl -p

Stilltu takmörk notandastigs opið skráar í Linux

Dæmin hér að ofan sýndu hvernig á að setja hnattræn mörk, en þú gætir viljað beita takmörkunum á hvern notendagrundvöll. Í þeim tilgangi, sem notendarót, þarftu að breyta eftirfarandi skrá:

# vi /etc/security/limits.conf

Ef þú ert Linux stjórnandi, legg ég til að þú kynnist þessari skrá og hvað þú getur gert við hana. Lestu allar athugasemdirnar þar sem það veitir mikinn sveigjanleika hvað varðar stjórnun kerfisauðlinda með því að takmarka notendur/hópa á mismunandi stigum.

Línurnar sem þú ættir að bæta við taka eftirfarandi breytur:

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

Hér er dæmi um að setja mjúk og hörð mörk fyrir notanda marin:

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

Lokahugsanir

Þessi stutta grein sýndi þér grunndæmi um hvernig þú getur athugað og stillt hnattræn og notendamörk fyrir hámarksfjölda opnaðra skráa.

Á meðan við klóruðum aðeins yfirborðið, hvet ég þig eindregið til að skoða og lesa þér til um /etc/sysctl.conf og /etc/security/limits.conf og læra hvernig á að nota þau. Þeir munu hjálpa þér mikið einn daginn.