Ich weiß, dass die Nizza-Werte vom Nizza-Wert des übergeordneten Prozesses geerbt werden, kann aber den Standard-Nizza-Wert für einen bestimmten Benutzer (mich selbst) global ändern.
In diesem Fall habe ich einen kleinen Convenience-Server im Sinn, auf den ausschließlich über zugegriffen wird ssh
. Ich denke also, ich könnte meine Standard-Shell von /bin/bash
zu ändern , /etc/bash5
während /etc/bash5
dieses Skript:
#!/bin/sh
nice -n 5 /bin/bash
#file privileges: root:root 755
Dies scheint mir ein schrecklicher Hack und fehleranfällig zu sein. Es muss einen besseren Weg geben.
Ich interessiere mich hauptsächlich für allgemeine Lösungen, die auch für ein Desktop / Laptop-System gelten.
Bearbeiten: Ich habe die vorgeschlagene limits.conf
Änderung versucht , aber es funktioniert nicht wie erwartet:
root@server# addgroup nice
root@server# adduser myself nice
root@server# echo '@nice soft nice 5' >> /etc/security/limits.conf
Dann sage ich von meinem Client-Computer aus
myself@client$ ssh server
myself@server$ sleep 1h &
myself@server$ htop
Jetzt hat der sleep
Prozess einen anfänglichen Freundlichkeitswert von0
, aber wenn ich den Wert mit F8
auf 19 ändere und dann versuche, ihn erneut zu reduzieren F7
, stoppt er bei5
.
Edit2: Lösung
Anstatt das nice
Element in zu verwenden limits.conf
, müssen Sie es tatsächlich verwenden, priority
obwohl es nicht intuitiv ist.
@nice soft priority 5
bash5
Ansatz, ich gebe dir das. Aber es bricht immer noch, wenn ich sage ssh myserver -- somecommand
, nicht wahr?
limits.conf
. Wofür ist deine Ausgabe ps -o pid,nice,cmd
?
nice
.
renice -n 5
in dein~/.profile
?