erkennen Speicherverlust mit htop
Leute, ich habe eine Anwendung aus der GTK+ - Bibliothek und einige linked-Liste auf es
und wenn ich sehe, die Ressourcen durch htop
es zeigte sich, wie diese :
1 [|||||||||||||||||||||| 24.4%] Tasks: 117, 163 thr; 1 running
2 [|||||||||||||||||||| 21.8%] Load average: 0.22 5.09 7.51
Mem[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 330/2003MB] Uptime: 6 days, 02:09:22
Swp[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 220/254MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1843 rahulyud 20 0 94496 9296 5596 S 17.0 0.5 0:57.59 gnome-terminal
1118 root 20 0 41112 8556 2612 S 14.0 0.4 25h13:05 /usr/bin/X :0 -nr -verbose -auth /var/run/gdm/auth-for-gdm-ubcbQV/database -nolisten tcp vt7
3035 root 20 0 2808 1468 1056 R 5.0 0.1 0:11.30 htop
1563 rahulyud 20 0 265M 19400 6792 S 4.0 0.9 12h17:58 compiz
2594 rahulyud 20 0 373M 25064 10316 S 1.0 1.2 0:13.75 /home/rahulyudi/NetBeansProjects/mm/trunk/dist/Debug/GNU-Linux-x86/trunk
leider, ich bin nicht wirklich vertraut mit unix htop
-Dinge,
meine app läuft mit pid-2594, aber es scheint angezeigt, dass VIRT
Kosten und Ressourcen zu hoch -> 373M, dachte, es war 373 Megabyte, hab ich Recht ? trotzdem ist diese Größe normal ?
was wirklich VIRT
,RES
,SHR
bedeuten ?
wie zu erkennen, dass mein app Speicher-Ressourcen durch diese symbol ?
danke im Voraus 😉
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist das nicht der ps-Befehl. Es ist das top oder htop-Befehl. Haben Sie ein alias gesetzt?
VIRT-Spalte den virtuellen Speicher und die Auslagerungsdatei mit der Aufgabe verbunden, einschließlich Bibliotheken, und Speicher reserviert, jedoch nicht verwendet. RES ist der physische Speicher, die derzeit in Gebrauch. SHR ist der Speicher, der könnte mit anderen Prozessen geteilt werden, wie zum Beispiel freigegebene Bibliotheken.
Weitere Informationen oder Details über diese Befehle geben:
An Ihrem terminal. Dann können Sie verwenden Sie/, um die Suche für Ihren text.
EDIT:
Nur eine kurze heads-up für alle, die auf diesen später fand ich ein Programm auf freshmeat genannt memtime, die es Ihnen ermöglicht zu sehen, der Arbeitsspeicher, der für einen Befehl, den Sie ausführen. Das würde Ihr problem lösen, ohne manuell das Programm sehen mit htop.
Speicherverluste durch definition kann nicht ausgesetzt werden, indem eine Momentaufnahme. Wenn Sie ein Speicherleck, Ihren Prozess mehr Speicher benötigt im Laufe der Zeit. Während 373M virtuellen mag hoch erscheinen, es sei denn, Sie gewinnen mehr und mehr Speicher, ohne dass die Anwendung etwas zu tun, sollte erhöhen Sie die Speicher-Auslastung können Sie nicht sagen, Sie haben ein Leck. Wenn Sie vermuten, Sie haben ein Leck, die Sie sollten mit Valgrind.
VIRT steht für die virtuelle Größe eines Prozesses, welcher die Summe der Speicher tatsächlich verwendet wird, Speicher Sie hat in sich selbst abgebildet (zum Beispiel die Grafikkarte, der RAM-Speicher des X-Servers), werden die Dateien auf der Festplatte, die zugewiesen wurden, in die es (vor allem shared libraries), und Speicher mit anderen Prozessen geteilt. VIRT gibt an, wie viel Speicher das Programm ist in der Lage, den Zugriff auf den gegenwärtigen moment. RES steht für resident size, die eine genaue Darstellung von, wie viel tatsächliche physische Speicher ein Prozess verbraucht. (Auch dies entspricht direkt der %MEM-Spalte.) Dies wird praktisch immer weniger als der VIRT-Größe, da die meisten Programme hängen von der C-Bibliothek.
SHR gibt an, wie viel von der VIRT Größe tatsächlich gemeinsam nutzbaren Speicher oder Bibliotheken). Im Falle der Bibliotheken, es muss nicht unbedingt bedeuten, dass die gesamte Bibliothek ansässig ist. Zum Beispiel, wenn ein Programm nur verwendet ein paar Funktionen in eine Bibliothek, die ganze Bibliothek zugeordnet und gezählt werden, in der VIRT-und SHR, aber nur die Teile der library-Datei mit den Funktionen verwendet werden, die wirklich geladen und gezählt werden unter RES.