PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SSH-Verbindung bei Serverauslastung



weally
09.09.06, 18:07
Hallo,

ich stehe mal wieder vor einem kleinen Problem und zwar verwende ich einen älteren Server welcher bei einigen Prozessen schlapp macht und dann auch nicht mal mehr über Putty erreichbar ist. Da der Mensch ja bekanntlich faul ist und ich nicht immer nach unten rennen möchte um den Server manuell zu rebooten etc. würde ich gerne wissen ob es evtl. eine Möglichkeit gibt trotz hoher CPU-Auslastung eine SSH-Verbindung aufzubauen?


Ich habe gelesen das man mit "nice bzw. renice" die Priorität eines (laufenden ) Prozesses beeinflussen kann, wenn ich aber


nice -n -10 sshd ausführe erhalte ich:

sshd re-exec requires execution with an absolute path

mit

renice -10 <PID>
erhalte ich zwar den gewünschten Erfolgt, aber dies setzt ja vorraus das ich die PID kennen muss, da ich aber unter hohe CPU-Auslastung keine Verbindung aufbauen kann komme ich an die SSHD-PID nicht ran.


Vielleicht könnt ihr mir bei dem Problem weiterhelfen?

Danke

weally

michih
09.09.06, 18:11
Versuch es mal mit:
nice -n -20 /etc/init.d/sshd start

Kann es atm. nicht selbst ausprobieren, aber so sollte es eigentlich gehen.
Ansonsten kannst auch in top mit r glaubs den nice-wert verändern, sobald dein pc neu gestartet wurde.

Michi

weally
09.09.06, 18:37
Hallo,

danke, der Befehl scheint zu funktionieren:


nice -n -20 /etc/init.d/sshd start
Starting SSH daemon done


btw hat es einen Sinn z.B. die Priorität eines Users auf -20 zu setzen und dann eine SSH-Verbindung über den User auszuführen?
Oder ist das dann nicht das gleiche wie die Priorität von SSH zu erhöhen?

weally

michih
09.09.06, 20:36
Hi

Sorry, hatte nen kleinen Denkfehler gemacht. Jetzt wird einfach das Script mit dem tiefen Nice-Wert ausgeführt, der SSH-Daemon läuft jedoch dann nur unter normaler Priorität.
Der Befehl sollte etwa so aussehen ( ist bei mir unter Knoppix so):
nice -n -20 start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd

Hilfreich zur Ermittlung des genauen Befehles unter deiner Distri liefert dir /etc/init.d/ssh(d).

Überprüfen kannst du mit folgendem Befehl:
root@1[knoppix]# top -b |grep sshd
3910 root 0 -20 4944 1172 836 S 0.0 0.6 0:00.36 sshd

Der 4. Wert sagt dir den Nice-Wert.

Zu deiner Frage: Du kannst den Nice-Wert eines Benutzers nicht erstellen, nice-Werte kannst du nur auf Prozesse anwenden, sehr wohl aber z.b auf alle Prozesse eines Benutzers oder eine Gruppe.

Mfg Michi

weally
09.09.06, 23:42
Hi,

wenn ich den Befehl:

nice -n -20 start-stop-daemon --start --quiet --pidfile /var/run/sshd.init.pid --exec /usr/sbin/sshd eingebe und anschließend top -b |grep sshd starte erhalte ich:

6861 root 15 0 7644 2404 1916 S 0.0 0.1 0:00.02 sshd


hab einmal bisschen getestet und dann folgenden Befehl verwendet:

nice -n -20 start-stop-daemon --start --quiet --pidfile /var/run/sshd.init.pid --exec /etc/init.d/sshd restart


dann erhalte ich:

8758 root 5 -20 4604 1184 804 S 0.0 0.1 0:00.07 sshd

Das sollte dann gehen oder?

Vielen Dank + Gruß
weally

choener
09.09.06, 23:46
Wie waere es, einfach das init-script zu aendern und darin den sshd zu nice'n?
Irgendwann wird der Server ja garantiert mal einen reboot machen und dann waere der sshd automatisch genice'd.

weally
10.09.06, 00:05
Wie waere es, einfach das init-script zu aendern und darin den sshd zu nice'n?
Irgendwann wird der Server ja garantiert mal einen reboot machen und dann waere der sshd automatisch genice'd.

Ja das wäre natürlich auch eine gute Lösung :)

Reicht es wenn ich in der /etc/ssh/sshd_config "nice -20" hinzufüge?

Oder wie wäre die Lösung umzusetzen?

Danke

weally

choener
10.09.06, 11:04
in der sshd_config?
Ich dachte an das init-script. Findet man unter /etc/rc.d/ oder wo auch immer die Distribution das hin packt.
Ist das, woran man start, stop oder restart anhaengt.
/etc/rc.d/sshd start

Dann sollte man /etc/rc.d/sshd umschreiben. Und zwar der Zeile, in der sshd gestartet das nice hinzufuegen.

weally
10.09.06, 11:44
Hallo,

danke :) - hat ebenfalls ohne Probleme funktioniert ;)