Kuinka asettaa rajoituksia käyttäjien suorittamille prosesseille Linuxissa
Yksi Linuxin kauneudesta on, että voit hallita melkein kaikkea siinä. Tämä antaa järjestelmänvalvojalle suuren hallinnan järjestelmästään ja järjestelmäresurssien paremman käytön.
Vaikka jotkut eivät ehkä ole koskaan ajatelleet tehdä tätä, on tärkeää tietää, että Linuxissa voit rajoittaa, kuinka paljon resurssia yksittäinen käyttäjä voi käyttää ja kuinka kauan.
Lue myös: Kuinka lisätä avoimien tiedostojen määrää Linuxissa
Tässä lyhyessä aiheessa näytämme, kuinka voit rajoittaa käyttäjän aloittamien prosessien määrää ja kuinka tarkistaa nykyiset rajat ja muokata niitä.
Ennen kuin siirrymme pidemmälle, meidän on huomautettava kaksi asiaa:
- Tarvitset järjestelmän pääkäyttäjän oikeudet muokataksesi käyttäjärajoja
- Sinun on oltava erittäin varovainen, jos aiot muuttaa näitä rajoja
Käyttäjärajojen määrittämiseksi meidän on muokattava seuraavaa tiedostoa:
/etc/security/limits.conf
Tätä tiedostoa käytetään pam_module:n luoman ulimitin käyttöön.
Tiedostolla on seuraava syntaksi:
<domain> <type> <item> <value>
Tässä pysähdymme keskustelemaan jokaisesta vaihtoehdosta:
- Verkkotunnus – tämä sisältää käyttäjänimet, ryhmät, opasalueet jne
- Tyyppi – pehmeät ja kovat rajat
- Tuote – kohde, jota rajoitetaan – ydinkoko, tiedostokoko, nproc jne.
- Arvo – tämä on annetun rajan arvo
Hyvä esimerkki rajalle on:
@student hard nproc 20
Yllä oleva rivi asettaa tiukan rajan, joka on enintään 20 prosessia "opiskelija"
-ryhmässä.
Jos haluat nähdä tietyn prosessin rajat, voit yksinkertaisesti "katsoa" rajatiedoston seuraavasti:
cat /proc/PID/limits
Kun PID on todellinen prosessitunnus, voit selvittää prosessin tunnuksen käyttämällä ps-komentoa. Tarkempia tietoja saat lukemalla artikkelimme, jossa sanotaan - Etsi käynnissä olevia Linux-prosesseja ja aseta prosessirajoitukset käyttäjäkohtaisesti
Joten tässä on esimerkki:
cat /proc/2497/limits
Näytelähtö
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 32042 32042 processes
Max open files 1024 4096 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 32042 32042 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
Kaikki rivit ovat melko itsestään selviä. Jos kuitenkin haluat löytää lisää asetuksia, jotka voit syöttää limits.conf-tiedostoon, voit katsoa tässä annettua opasta.
Jos sinulla on kysyttävää tai kommentteja, älä epäröi lähettää ne alla olevaan kommenttiosaan.