Wie stellen Sie fest, welches Programm zu viel Speicher belegt?

59

Ubuntu ist in letzter Zeit auf mich abgestürzt. Ich denke, es liegt daran, dass der Speicher nicht mehr ausreicht, also habe ich den free -mBefehl ausgeführt und festgestellt, dass meine Speichernutzung sehr hoch war. Also rannte ich los top, um den Täter zu finden, aber die angezeigten Prozesse verwendeten weniger als 1,5% des Speichers. Woher weiß ich, welches Programm Ubuntu zum Absturz bringt? Unten ist die Ausgabe:

shafee@shafee-pc:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          3824       3714        110          0        978       1954
-/+ buffers/cache:        780       3044
Swap:           99          0         99

shafee@shafee-pc:~$ top
top - 02:12:14 up  1:24,  2 users,  load average: 0.16, 0.42, 1.49
Tasks: 182 total,   1 running, 181 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.9%us,  1.9%sy,  0.3%ni, 79.3%id, 15.5%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   3916708k total,  3803848k used,   112860k free,  1002308k buffers
Swap:   102396k total,        0k used,   102396k free,  2001852k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 4200 root      20   0  289m  53m  38m S    2  1.4   1:06.45 Xorg               
 5590 shafee    20   0 19348 1368  956 R    2  0.0   0:00.01 top                
    1 root      20   0 24124 2136 1264 S    0  0.1   0:02.05 init               
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd           
    3 root      20   0     0    0    0 S    0  0.0   0:24.23 ksoftirqd/0        
    6 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0        
    7 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/1        
    9 root      20   0     0    0    0 S    0  0.0   0:00.11 ksoftirqd/1        
   11 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/2        
   13 root      20   0     0    0    0 S    0  0.0   0:03.89 ksoftirqd/2        
   14 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/3        
   16 root      20   0     0    0    0 S    0  0.0   0:00.16 ksoftirqd/3        
   17 root       0 -20     0    0    0 S    0  0.0   0:00.00 cpuset             
   18 root       0 -20     0    0    0 S    0  0.0   0:00.00 khelper            
   19 root       0 -20     0    0    0 S    0  0.0   0:00.00 netns              
   21 root      20   0     0    0    0 S    0  0.0   0:00.01 sync_supers        
shafee@shafee-pc:~$

Oder ist es normal, 110 MB freien Speicher zu haben, und hängt mein Problem mit etwas anderem zusammen?

shxfee
quelle
Es sieht so aus, als hättest du auch nicht genug Swap. Empfohlen wird etwa die doppelte Größe Ihres Arbeitsspeichers
Marco Ceppi

Antworten:

74

Sie lesen die Ausgabe von freefalsch. Der Linux-Kernel übernimmt eine Menge seiner eigenen Speicherverwaltung, die wiederum mehr zuweist, als er tatsächlich benötigt. Ihre tatsächliche Menge an "freiem Speicher" befindet 3044sich in der Spalte "Frei" der +/- Buffers/cacheZeile, sodass nur 780 MB tatsächlich verbraucht werden.

Standardmäßig topwird nach dem CPU-Verbrauch sortiert. Sie können Shift+ drücken M, um nach dem Prozentsatz des verbrauchten Speichers zu sortieren. Auf diese Weise erhalten Sie einen besseren Überblick darüber, welche Software den dem Kernel zugewiesenen Speicher verwendet.


free -m
             total       used       free     shared    buffers     cached
Mem:          7873       3916       3956          0        231       1117
-/+ buffers/cache:       2567       5305
Swap:        12401          0      12401

Und oben mit Speicher sortiert:

top - 17:05:18 up 2 days,  1:40,  4 users,  load average: 0.21, 0.14, 0.11
Tasks: 237 total,   1 running, 234 sleeping,   0 stopped,   2 zombie
Cpu(s):  1.6%us,  0.8%sy,  0.1%ni, 96.7%id,  0.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8062420k total,  4013632k used,  4048788k free,   237204k buffers
Swap: 12699644k total,      292k used, 12699352k free,  1144752k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                                          
 1632 root      20   0  884m 240m 6532 S    0  3.1   1:20.17 java                                                                                                                                                                             
 3911 marco     20   0 1011m 165m  22m S    0  2.1   9:20.62 chrome                                                                                                                                                                           
 3852 marco     20   0  770m 162m  45m S    0  2.1  14:59.59 chrome                                                                                                                                                                           
 1091 root      20   0  491m 160m 118m S    3  2.0  29:19.44 Xorg                                                                                                                                                                             
 1747 marco     20   0  659m 108m  34m S    1  1.4  18:43.92 compiz                                                                                                                                                                           
 3964 marco     20   0 1113m  99m  21m S    0  1.3  18:51.88 chrome                                                                                                                                                                           
 1759 marco     20   0  668m  94m  21m S    0  1.2   2:27.42 nautilus                                                                                                                                                                         
 3046 marco     20   0  788m  86m  26m S    0  1.1   1:22.96 evolution                                                                                                                                                                        
 1793 marco     20   0  647m  85m  18m S    0  1.1   0:12.74 shutter                                                                                                                                                                          
 1791 marco     20   0  404m  85m  13m S    0  1.1   5:19.51 bitcoin                                                                                                                                                                          
 2938 marco     20   0  809m  78m  31m S    0  1.0   1:01.07 empathy                                                                                                                                                                          
 9630 marco     20   0  265m  73m  19m S    1  0.9  12:41.52 skype                                                                                                                                                                            
 9618 marco     20   0  914m  64m  21m S    0  0.8   1:14.04 chrome                                                                                                                                                                           
 1777 marco     20   0  432m  64m  14m S    0  0.8   1:45.96 pastie

Versuchen Sie abschließend, das -cFlag nach oben zu setzen, um die Diagnose der tatsächlichen Software zu top -cerleichtern. Auf diese Weise erhalten Sie den vollständigen Pfad, den Namen und die Parameter des ausgeführten Befehls.

Marco Ceppi
quelle
danke: / meine Abstürze scheinen mit etwas anderem zu tun zu haben.
Shxfee
1
@Shafee Vielleicht möchten Sie dann eine neue Frage öffnen, in der erläutert wird, was abstürzt, und relevante Protokolldateien oder Details bereitgestellt werden, um festzustellen, ob wir Sie bei der Behebung dieser Abstürze unterstützen können.
Marco Ceppi
1
Beeindruckend. lernte noch mal was neues .... jubel marco noch mal!
andybleaden
7
Siehe auch linuxatemyram.com
Lekensteyn
3

Sie können die Anwendung gnome-system-monitor starten. Am besten finden Sie heraus, wie viel RAM von welchen Apps verwendet wird und wie viel CPU auch verwendet wird. Sie können die Priorität eines Prozesses so ändern, dass er noch schneller ausgeführt wird, z. B. wenn Sie Videos usw. konvertieren möchten.

digitalcrow
quelle
1
ec2 hat keinen gnome-system-monitor auf cmd line, gibt es eine alternative?
Siddharth
3
@ Siddharth können Sie verwenden, htopdie eine schönere Version von Top ist. Drücken Sie F6, um z. B. nach CPU- oder RAM-Auslastung zu sortieren.
Rosch
@Siddharth Sie können gnome-system-monitor immer noch auf einem System ohne GUI installieren (es werden jedoch einige Abhängigkeiten installiert). Solange Sie einen Linux-Client haben, können Sie ihn über die X-Weiterleitung ausführen.
Kris Jace
1

In Kubuntu drücke ich einfach Ctrl- Escund sortiere die Dinge dann nach dem Interessengebiet: Speicher, CPU, ...

Bildbeschreibung hier eingeben

Adobe
quelle
0

Dies ist eine gute Frage, aber die Informationen zeigen, dass viel Speicher verfügbar ist. Sie sollten jedoch Ihre Speichernutzung überwachen.

Mein bevorzugter Systemmonitor ist conkyund die Speicheranzeige ist ein Teil davon:

Conky.gif

Die gesamte Speicherzeile zeigt an, dass 2,5 GiB von 7,4 GiB verwendet werden.

Detaillierte Speicherzeile zeigt:

  • Web Contentbelegt 7% des Speichers. Dies ist ein Firefox-Unterprogramm.
  • Firefox selbst verwendet 7% des Speichers
  • ffmpegbelegt 3% des Speichers. Dies ist der .gifRekorder peek, der das Video erstellt, das wir gerade ansehen.

Conky ist sehr konfigurierbar und jeder Desktop sieht anders aus. Sie können googeln conkyund 787 Tausend Treffer erzielen.

WinEunuuchs2Unix
quelle