Quels sont les paramètres d'ulimit?

11

Je vois dans des exemples que l' -uoption est utilisée avec la ulimitcommande, mais je ne trouve pas de documentation indiquant ce que signifie cette option. man ulimitmontre le manuel d'une fonction de bibliothèque système. Quelles sont les options ulimitet que signifient-elles?

Mnementh
la source

Réponses:

9

La commande ulimit est une commande intégrée qui utilise les fonctions C décrites par man: Sa propre aide est incluse dans la page de manuel de Bash, accessible avec man bash.

Vous pouvez répertorier toutes les options disponibles avec ulimit -het voir leur signification correspondante en utilisant la ulimit -aliste de tous les types de limitations disponibles et leurs valeurs actuelles, en fonction de votre système:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
Eureka
la source
1
Notez que cela ulimit -hn'est pas pris en charge partout - pas dans Bash 4.2.25, au moins.
DreadPirateShawn
ulimit -h ne répertorie rien de tout cela par exemple dans Ubuntu 16.04
matt
8

ulimitdoit être un shell intégré car la limite qu'il établit s'applique au shell lui-même ainsi qu'aux programmes qu'il démarre. Le seul argument portable est -f(limite de taille de fichier, en unités de 512 octets). La plupart des shells ont plus d'options, vous devrez vérifier la documentation du shell pour savoir exactement ce qu'ils sont. Avec des shells portables tels que bash et ksh, certaines variantes unix peuvent ne pas prendre en charge une limite même si l'option correspondante est reconnue par le shell.

Options prises en charge par chaque shell que j'ai vu:

  • -H: À combiner avec d'autres options pour définir ou afficher uniquement la limite stricte.
  • -S: Combiner avec d'autres options pour définir ou afficher la limite logicielle uniquement.
  • -c: taille maximale du fichier core (blocs de 512 octets)
  • -d: taille maximale du segment de mémoire (segment de données) (ko)
  • -f: taille de fichier maximale (blocs de 512 octets)
  • -n: nombre maximum de descripteurs de fichiers
  • -s: taille de pile maximale (ko)
  • -t: temps CPU maximum

Quelques autres options très courantes:

  • -a: Affiche toutes les limites.
  • -m: taille maximale de la mémoire physique (ko)
  • -v: taille maximale de la mémoire virtuelle (ko)
Gilles 'SO- arrête d'être méchant'
la source