Natuurlijk, vanwege de aard ervan, vereist het werken met "ulimit" beheerderstoegang (bij het wijzigen van waarde). Bovendien werkt het alleen op systemen die controle via de shell mogelijk maken. Laten we zonder verder oponthoud beginnen met "ulimit"!
Plaats
Start de terminal op en voer de volgende opdracht uit:.
welke ulimit
Dit geeft een fout weer, toch? Waarom? Het is omdat "ulimit" geen afzonderlijk binair getal is. Het is ingebed in de shell zelf.
Basisgebruik
Voer de opdracht gewoon zelf uit.
ulimit
Zoals de uitvoer suggereert, heeft de huidige gebruiker een "onbeperkte" hoeveelheid bronnen die toegankelijk zijn. Dit betekent in wezen dat de huidige gebruiker alle bronnen kan gebruiken die het huidige systeem ondersteunt.
Voeg de vlag "-a" aan het einde toe om het rapport in details te krijgen. Hiermee worden alle resourcelimieten voor de huidige gebruiker afgedrukt.
ulimit -a
Opmerking: er zijn 2 soorten resourcebeperkingen: "hard" en "zacht". De limiet voor harde bronnen definieert de fysieke limiet die de gebruiker kan bereiken. De "zachte" resourcelimiet is beheersbaar door de gebruiker. De waarde kan oplopen tot de "harde" limiet.
De systeembronnen worden gedefinieerd in een configuratiebestand dat zich bevindt op "/etc/security/limits".conf”. "ulimit", wanneer aangeroepen, zal deze waarden rapporteren.
cat /etc/security/limits.conf
Verschillende limieten van een gebruiker controleren
Hoe zit het met het weergeven van de individuele parameters?? Roep vervolgens "ulimit" aan met de respectievelijke parameters.
Opmerking: niet al deze commando's werken omdat niet elk systeem de functies bevat.
Gebruik de vlag "-c" om de waarde van de maximale "kernbestandsgrootte" te controleren. Het resultaat wordt weergegeven in blokken.
ulimit -c
Gebruik voor maximale "data seg-grootte" (in kilobytes) de vlag "-d".
ulimit -d
Prioriteit is belangrijk bij planning. Bekijk de maximale planningsprioriteit van de huidige gebruiker met behulp van de "-e" vlag.
ulimit -e
Gebruik de vlag "-s" om de maximale stapelgrootte van de huidige gebruiker te controleren.
ulimit -s
Gebruik voor het maximale aantal gebruikersprocessen de vlag "-u".
ulimit -u
Gebruik voor het maximale aantal threads de vlag "-T".
ulimit -TGebruik de volgende om de grootte van virtueel geheugen te krijgen:.
ulimit -v
Laten we eens kijken naar de grootte van de socketbuffer!
ulimit -bDeze is interessant. De volgende opdracht geeft de tijd weer dat elk proces mag worden uitgevoerd:.
=ulimit -t
Bestandsbeschrijvingen zijn een ander interessant onderdeel van het Linux-ecosysteem. Om te zien hoeveel bestandsdescriptors een proces kan hebben, voer je de volgende uit:.
ulimit -n
Voor de volledige lijst met “ulimit”-vlaggen, bekijk de helppagina van “ulimit”.
ulimit --help
Waarden instellen
Tot nu toe hebben we gezien hoe we de waarden van de resourcelimieten van het huidige systeem kunnen controleren. Nu is het tijd om te zien hoe u deze waarden handmatig kunt wijzigen.
Opmerking: voor het wijzigen van de "harde" limiet is beheerderstoegang vereist, i.e. "root" toestemming. Zorg ervoor dat je de boel niet verpest!
We noemden de "limieten".conf” bestand, rechts? Het is de kern die alle limieten DEFINIEERT die van toepassing zijn op de gebruikers.
sudo vim /etc/security/limits.conf
Zoals weergegeven in het bestand, moet elk item de volgende structuur volgen:.
Het "domein"-gedeelte kan elk van deze waarden zijn.
- Een specifieke gebruiker
- Een groep
- Jokerteken (* en %)
Het gedeelte "type" staat de volgende waarden toe:.
- “soft” (voor het implementeren van zachte limieten)
- “hard” (voor het implementeren van harde limieten)
Vervolgens het gedeelte "item". De lijst met beschikbare opties is vrij lang! Hier zijn enkele van de interessante.
- kern: Kernbestandsgrootte (in KB).
- gegevens: maximale gegevensgrootte (in KB)
- fsize: maximale bestandsgrootte (in KB).
- memlock: Max. vergrendelde adresruimte in het geheugen (in KB).
- nofile: Max aantal bestandsdescriptors
- stapel: maximale grootte van de stapel (in KB).
- cpu: Maximale CPU-tijd (in MIN).
- maxlogins: Maximaal aantal aanmeldingen voor de huidige gebruiker/groep
- prioriteit: stel de prioriteit van de processen van de gebruiker in
- rtprio: maximale prioriteit in realtime.
Voer vanaf het veld "waarde" een geheel getal in. Merk op dat de eenheid van elk veld is gekoppeld aan de waarde van het onderdeel "item".
De wijzigingen worden van kracht na het afsluiten en opnieuw inloggen op het bijbehorende gebruikersaccount.
Voor de uitgebreide informatie over de “limieten”.conf” configuratiebestand, bekijk de man-pagina.
man limieten.conf
Laatste gedachten
Hoewel het gebruik van de opdracht "ulimit" niet zo ingewikkeld is, speelt het een belangrijke rol bij het bepalen van de beschikbare systeembronnen en uiteindelijk bij het bepalen van de prestaties. Voor meer informatie over deze opdracht, bekijk de man- en infopagina's.
ulimit --helpman ulimit
info ulimit
Genieten!