Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
top: priorität

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
pl2003
Gast





BeitragVerfasst am: 19. Jan 2006 18:18   Titel: top: priorität

Hallo,

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

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
 

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 19. Jan 2006 18:43   Titel:

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..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

pl2003
Gast





BeitragVerfasst am: 19. Jan 2006 21:12   Titel:

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 Smile.

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
 

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 20. Jan 2006 8:31   Titel:

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..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

pl2003



Anmeldungsdatum: 19.01.2006
Beiträge: 5

BeitragVerfasst am: 20. Jan 2006 15:38   Titel:

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 Sad.
 
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 22. Jan 2006 17:33   Titel:

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..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy