J'aimerais augmenter la taille maximale des fichiers de vidage principaux en tant qu'utilisateur régulier. En utilisant bash
, je peux le configurer comme suit:
$ ulimit -c 100
qui fonctionne bien la première fois que je l'ai mis. Cependant, la prochaine fois que j'utilise cette commande, je ne peux définir cette limite que sur une valeur ne dépassant pas 100. En général, je ne peux lui attribuer une valeur arbitraire que la première fois que j'utilise cette commande depuis la connexion. Toutes les fois suivantes, les valeurs possibles sont limitées par le haut par la valeur initialement définie.
Comment puis-je rendre cette tâche persistante lors de multiples utilisations de la commande?
La réponse de @ Peter Bašista à sa propre question:
Au début, je pensais que c'était une erreur et c'est pourquoi j'ai commencé cette question. Mais il s’est avéré que c’est simplement un comportement parfaitement correct. Il s’avère que le dicton RTFM s’applique également ici.
Comme
man bash
révèle, la commande intégréeulimit
a des paramètres supplémentaires:-H
pour définir les limites dures et-S
pour les soi-disant limites douces . De plus, si aucune de ces options n’est donnée, le comportement par défaut est queulimit
essaie de définir les limites logicielles et matérielles à la même valeur en même temps. Et c'était le problème.Il existe maintenant une citation de la page de manuel
bash
:Une limite stricte ne peut pas être augmentée par un utilisateur non root une fois définie.
Alors, on y va. L’utilisation correcte de la commande
ulimit
devrait toujours l’avoir à l’esprit. Plus important encore, il ne devrait jamais être utilisé sans les options-H
ou-S
sauf si vous êtes sûr de savoir ce que vous faites (ce qui, à l'époque, ne l'était évidemment pas).Ce que j'aurais dû faire est quelque chose comme ça:
Après la connexion:
ulimit -H -c unlimited
Chaque fois que je souhaite modifier la taille maximale de la mémoire mémoire principale,
ulimit -S -c <new size>
Donc, c'est à peu près tout. J'espère que cela pourra aider quelqu'un qui pourrait avoir des difficultés avec un problème similaire.