it-swarm.com.de

Wie kann der von einem Prozess belegte Speicher überwacht werden?

Ich habe einen Prozess, den ich sehen möchte, wie viel Speicher es verbraucht, während es läuft.

Im Moment mache ich das:

ps faux | grep casper

Aber das gibt mir nur die Information von diesem Moment. Es wäre schön zu sehen, wie sich dieser Wert im Verlauf des Skripts ändert.

Wie kann ich das machen?

16
Hommer Smith

Methode 1

Lauf:

top

Überprüfen Sie die PID des Programms (erste Spalte) und führen Sie dann Folgendes aus:

top -p PID

Methode 2

Fügen Sie dies entweder in das Terminal ein oder speichern Sie es als mem_usage.sh und führen Sie es vom Terminal aus.

#! /bin/bash
while :
do
    clear
    ps faux | grep casper
    sleep 1s
done
14
Julian Stirling

Um nur Ihren Prozess zu überwachen, können Sie/proc/PID/status oder/proc/PID/statm überprüfen.

About/proc/PID/statm:

Nachdem Sie cat /proc/PID/statm ausgeführt haben, sollten Sie Folgendes sehen:

611450 185001 883 18 0 593431 0

Erklärung:

  1. größe: - Gesamtprogrammgröße (611450 x 4096/1024 = 2445800 KB = 2388 MB)
  2. resident: - Größe des Resident-Sets (185001 x 4096/1024 = 740004 KB = 722 MB)
  3. share: - freigegebene Seiten (883 x 4096 = 3532)
  4. trs: - Text (Code) (18 x 4096/1024 = 72 KB = VmExe)
  5. drs: - Daten/Stapel
  6. lrs: - library (593431 x 4096/1024 = 2373724 KB = VmData + VmStk)
  7. dt: - schmutzige seiten

Sie können auch die Speicheraktivität für Ihren Prozess protokollieren, indem Sie eine Schleife mit Datum und Katze durchführen.

6
yilmi

du könntest 'top' benutzen

man top

Mit diesem Programm können Sie die Ressourcennutzung unter anderem nach RSS, VSZ, CPU usw. sortieren. Dies ist sehr nützlich.

Alternativ können Sie 'pmap' verwenden, um eine detailliertere Aufschlüsselung der Speichernutzung zu erhalten.

man pmap

Anwendungsbeispiel:

pmap -x 1234

prost

sc.

3
swisscheese

Öffnen Sie den Systemmonitor und wechseln Sie zu Processes Tab:

2
Wilf

Probieren Sie aus:

watch 'ps faux | grep -v grep | grep casper'

Sie können das Aktualisierungsintervall auch mit dem Parameter --interval <seconds> ändern.

1
Martin Dvorak