[uplug] wie bekomm ich die PID des LOAD erzeugenden Prozesses.

Stephan Uhlmann su at su2.info
Di Aug 19 03:04:54 CEST 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Monday 11 August 2003 16:53, Hermann Schwarting wrote:
> Am Montag, 11. August 2003 16:02 schrieb Frank Adler:
> > Problem: es gibt fuer ein hohes load eine vielzahl von ursachen.
> > cpu hunrige prozesse. diskio operationen die grosse datenmengen
> > erzeugen. hohe netzlast usw usw usw ...
>
> Huh? Meinst Du jetzt "load" im Sinne von allgemeiner Systemlast oder
> load im Sinne von /proc/loadavg ?

Hab ich mich auch gefragt...

Wenn letzteres dann kannst du dir die PIDs aller "running" Prozesse ca. so 
ausgeben lassen: ps -eo stat,pid | grep ^R | awk '{print $2}'
... oder auch so: ps -auxr

Ich glaube aber, er meinte eher ersteres. Und daher ist das nicht so leicht zu 
beantworten. Prozesse die mit hoher CPU-Auslastung laufen sind ja noch 
einfach zu erkennen. Prozesse, die viel auf der Platte arbeiten oder Netzlast 
erzeugen meist auch, weil das oft mit hoher CPU-Last einhergeht. Manchmal 
aber eben auch nicht. Und dann kenne ich auch keine Möglichkeit wie man jetzt 
z.B. die 100Mbit/s auf der Netzwerkkarte dirtekt einer PID zuordnen könnte. 
Hohe Last an sich zu erkennen, ist aber kein Problem (falls diese Frage in 
deiner Frage mit enthalten war, Frank).

Und zwar kann man sich ja in /proc/interrupts die Interrupts anzeigen lassen. 
Da steht nicht nur welcher Interrupt von was belegt ist, sondern auch wie oft 
er ausgelöst wurde. Das ist zwar nicht 100% exakt, denn ein Interruptaufruf 
für z.B. die Festplatte kann sicher unterschiedlich viel Daten-IO erzeugen, 
hat sich in der Praxis aber als guter Indikator erwiesen.
Man misst also wieviel Interrupts so pro Minute anfallen und kann dann ganz 
gut erkennen wenn der Wert nicht mehr "normal" ist. Mit mrtg zum Beispiel 
kann man sich auch schicke Statistiken generieren. Das sieht dann z.B. so 
aus: http://fara.cs.uni-potsdam.de/mrtg/fara-index.html
Dort erkennt man deutlich, wie um 3 Uhr nachts unser Mega-Backup erstmal die 
CPU fürs gzip belegt und irgendwann dann so gegen 7 Uhr morgens alles über 
das Netzwerk (Interrupts eth0 korrespondiert zum gemessenen Traffic in bit/s) 
kopiert wird. Die Festplatte (Interrupts ide0) bleibt dabei ganz cool.


Hoffe das hilft weiter.

Stephan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE/QXe20TAeRPnvmyERAk0/AKCiMnlTvuMnu8yG7ei9BEdxBjIeqQCeNC9y
E71mJNrB3RoI9OeCr3ypNG8=
=pLtC
-----END PGP SIGNATURE-----




Mehr Informationen über die Mailingliste upLUG