Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 16. Nov 2018 14:33

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: top: priorität
BeitragVerfasst: 19. Jan 2006 18:18 
Hallo,

es wurde in diesem Forum schon mal angesprochen, aber nicht beantwortet, drum hier mein Versuch :).

Ich möchte es an einem konkreten Beispiel festmachen:
Code:
11 user1 0 -19 86224  62m 5824 S 22.7 12.3  18:31.87 prozess1
22 user2 34 19 87252  70m 6100 R 22.4 14.1  25:33.97 prozess2
prozess1 wurde mit nice -n -19 und prozess2 mit nice -n 19 gestartet. Warum hat prozess2 eine höhere Priorität? Oder gilt beim Wert Priorität wie bei nice weniger=mehr?

Bin für jede Info dankbar!

Greets,
pl2003


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 19. Jan 2006 18:43 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 14. Jan 2000 15:37
Beiträge: 699
Wohnort: Jülich
Der nice-Wert geht in die Berechnung der Priorität mit ein, aber viele andere EInflüsse ebenfalls. Ein Prozess, der seine Zeiteinheiten voll ausnutzt, erhält einen niedrigere Priorität als einer, der seine Zeiteinheiten schnell freiwillig aufgibt (weil er auif I/O warten muss beispielsweise).

Ein "nice -n 19" sagt, dass der Prozess supernett sein und allen den Vortritt lassen soll -> niedrige Priorität. Da ein hoher Prio-Wert eine niedrige Priorität darstellt, wird der nice-Wert (zumindest überschlagstechnisch auf meinem System) wohl einfach addiert.

Ganz analog "nice -n -19": Gar nicht nett sein, sondern vordrängeln. Der Nice-Wert wird zur Prio addiert -> da negativ, niedriger Prio-Wert -> hohe Priorität des Prozesses im System.

OK?

Jochen

_________________
Die grösste Lüge der EDV? "Mal eben..."


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 19. Jan 2006 21:12 
Dank Dir, Jochen!

Diese Info, niedrigerer PRI-Wert gleich höhere Priorität, konnte ich nirgends finden. Und nach der einiger Lektüre über die Load Average war ich wohl noch etwas verwirrt :wink:.

Ich bin derzeit hobbymäßig damit befasst, einen Gameserver zu administrieren (komme berufsmäßig aus der w2k3server ecke, schlagt mich bitte nicht). Beim Versuch zu verstehen, wann ein Linux denn nun eigentlich ausgelastet ist, scheitere ich im Moment :).

Nach einigem ge-renice stellt sich mir noch die Frage, wo ich meinem Suse denn beibringen kann, alle Prozesse eines bestimmten Users hoch/runterzunicen. Vielleicht weiß jemand spontan Rat?

Greets,
pl2003


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 20. Jan 2006 8:31 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 14. Jan 2000 15:37
Beiträge: 699
Wohnort: Jülich
Schau mal in die man-Page zu renice:
Zitat:
renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]
...
Options supported by renice:

-g Force who parameters to be interpreted as process group ID's.

-u Force the who parameters to be interpreted as user names.

-p Resets the who interpretation to be (the default) process ID's.
OK?

Jochen

_________________
Die grösste Lüge der EDV? "Mal eben..."


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 20. Jan 2006 15:38 
Offline

Registriert: 19. Jan 2006 21:13
Beiträge: 5
Verzeihung, da habe ich ein kleines, aber wichtiges Wörtchen vergessen:

... alle neu gestarteten Prozesse eines bestimmten Users hoch/runterzunicen.

Hintergrund: Wenn bspw. wwwrun eine Mail versenden möchte oder php bemüht, soll er damit keine anderen Prozesse stören, auch wenn es etwas länger dauert.
Renice nutze ich zur Zeit. Damit erwische ich aber nur was bereits läuft.

Die crontab wäre eine Möglichkeit die mir einfällt, aber über die User zu gehen erscheint mir sinnvoller. Nur weiß ich nicht wie :(.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22. Jan 2006 17:33 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 14. Jan 2000 15:37
Beiträge: 699
Wohnort: Jülich
Kommt ganz darauf an, wie die Prozesse gestartet werden. Wenn Du zum Versenden von EMail explizit aus dem Apache heraus sendmail aufrufst, kannst Du einfach ein "nice" vor den Aufruf schreiben.

Bei PHP bin ich mir allerdings nicht sicher: Wenn Du mittels mod_php arbeitest, wird das Skript ja im Prozessbereich des Apaches gestartet - oder? Dann müsste ja einer Apache-Worker heruntergenicet werden - das ist sicherlich nicht Sinn der Sache. Wenn Du allerings ein "php skript.php" aufrufst, kannst Du vor den Start wieder ein nice setzen wie bei sendmail.

Jochen

_________________
Die grösste Lüge der EDV? "Mal eben..."


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de