Ma question n'est probablement pas liée à Ubuntu en particulier, mais depuis mon bureau exécutant ce système d'exploitation, je suis venu sur ce forum.
J'essaie de changer la taille du fichier principal à l'aide de la ulimit -c
commande comme suit:
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7959
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) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Modification de la limitation:
$ ulimit -c unlimited
Observer le résultat:
$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7959
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) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
En effet la limite est modifiée. Cependant, lorsque j'ouvre un autre terminal et vérifie la valeur, je vois toujours une valeur nulle dans la taille du fichier principal.
Des questions:
- Les modifications effectuées à l'aide de la
ulimit
commande affectent-elles uniquement le processus en cours, c'est-à-dire dans ce cas lebash
? - Je lance un programme à partir du shell comme processus d'avant-plan. Le
ulimit
changement s'applique-t-il à un nouveau processus? - Comment puis-je m'assurer que tous les processus utilisateur sont affectés par cette configuration?
command-line
bash
ulimit
maximb
la source
la source
Réponses:
ulimit
est un shell intégré, et n'affecte donc que le shell actuel, et les processus démarrés par ce shell:De
man ulimit
:Donc, oui, les processus enfants sont affectés.
Pour définir des limites de façon permanente ou pour tous les processus, modifiez
/etc/security/limits.conf
et redémarrez. Les exemples de la page de manuel sont assez bons. Vous avez juste besoin d'ajouter quelque chose comme:la source
ulimit
aussi une commande externe en plus d'être une commande bash intégrée?