Je sais que les valeurs de gentillesse sont héritées de la valeur de gentillesse du processus parent, mais puis-je changer globalement la valeur de gentillesse par défaut pour un utilisateur particulier (moi-même).
Dans ce cas, j'ai un petit serveur de commodité à l'esprit, qui est exclusivement accessible via ssh
. Donc, je pense que je pourrais changer mon shell par défaut de /bin/bash
à /etc/bash5
tout /etc/bash5
est ce script:
#!/bin/sh
nice -n 5 /bin/bash
#file privileges: root:root 755
Cela me semble être un terrible piratage et sujet à des erreurs. Il doit y avoir un meilleur moyen.
Je suis principalement intéressé par les solutions générales, qui s'appliqueraient également à un système de bureau / ordinateur portable.
Edit: j'ai essayé la limits.conf
modification suggérée , mais cela ne fonctionne pas comme prévu:
root@server# addgroup nice
root@server# adduser myself nice
root@server# echo '@nice soft nice 5' >> /etc/security/limits.conf
Ensuite, depuis ma machine cliente, je dis
myself@client$ ssh server
myself@server$ sleep 1h &
myself@server$ htop
Maintenant, le sleep
processus a une valeur de gentillesse initiale de0
, mais si je change la valeur avec F8
à 19 et que j'essaye de la réduire à nouveau avec F7
elle s'arrête à5
.
Edit2: Solution
Au lieu d'utiliser l' nice
élément dans limits.conf
, vous devez en fait l'utiliser priority
même s'il est contre-intuitif.
@nice soft priority 5
bash5
approche, je vous donne ceci. Mais ça casse quand je dis ssh myserver -- somecommand
non?
limits.conf
. À quoi sert votre sortie ps -o pid,nice,cmd
?
nice
.
renice -n 5
dans votre~/.profile
?