Du bist nicht angemeldet.

#1 13.09.2016 12:47:59

Rolo
Mitglied

Speicherverbrauch

Hallo zusammen,

ich hab' 'nen ARM in einem kleinen Rechner, der mit der Zeit den ganzen RAM "auffuttert". Wenn ich mir mit "top" die Auslastung des Systems ansehe, wird der genutzte Speicher immer größer, der freie immer kleiner. Das geht so lange, bis der Rechner automatisch erneut bootet und das Ganze von vorn beginnt.
Der Speicherbedarf der einzelnen Prozesse bleibt, während der Gesamtspeicher kleiner wird, konstant, ebenso werden /tmp und log-Dateien nur untwesentlich größer, so dass der Speicherverlust dort nicht zu finden ist. "free" oder "/proc/meminfo" helfen mir auch nicht weiter.
Hat jemand 'ne Idee, wie ich dem "Speicherfresser" auf die Schliche komme?

Danke für Eure Hilfe!

Rolo

Offline

#2 13.09.2016 14:15:33

stefanhusmann
Moderator

Re: Speicherverbrauch

top sollte dir auch die teuersten Prozesse zuoberst anzeigen.

Offline

#3 13.09.2016 14:33:35

Schard-nologin
Gast

Re: Speicherverbrauch

stefanhusmann schrieb:

top sollte dir auch die teuersten Prozesse zuoberst anzeigen.

...insbesondere nach einem [Shift] + [M].

#4 13.09.2016 16:40:57

Rolo
Mitglied

Re: Speicherverbrauch

"top" und danach [Shift]+[M] kenne ich. Gibt es noch andere Befehle, mit denen man sich anschauen kann, welcher Prozess gerade wieviel Speicher zieht bzw. ob ein Prozess Speicher nicht wieder ordentlich frei gibt. Ich möchte nicht jeden Prozess einzeln "valgrinden" müssen.

Offline

#5 13.09.2016 17:24:12

Schard-nologin
Gast

Re: Speicherverbrauch

Klar.

for DIR in /proc/[0-9]*; do echo -n "PID=$(basename ${DIR}): "; cat ${DIR}/statm; done

Aber ob das einfacher zu handhaben ist, steht auf einem anderen Blatt.

#6 14.09.2016 12:42:00

Rolo
Mitglied

Re: Speicherverbrauch

Schard-nologin schrieb:

Klar.

for DIR in /proc/[0-9]*; do echo -n "PID=$(basename ${DIR}): "; cat ${DIR}/statm; done

Aber ob das einfacher zu handhaben ist, steht auf einem anderen Blatt.

Danke für die Hilfe! Doch leider bleiben sämtliche Werte konstant über einen längeren Zeitraum, der belegte Speicher wird jedoch immer größer.

Offline

#7 14.09.2016 12:47:17

Greg
Mitglied

Re: Speicherverbrauch

Dann poste doch mal top oder htop hier rein. Am Besten 2 mal Abstand 20 Sekunden.

Da muss doch was zu sehen sein. Von Alleine wird der nicht voll.

Offline

#8 14.09.2016 13:57:00

Rolo
Mitglied

Re: Speicherverbrauch

Greg schrieb:

Dann poste doch mal top oder htop hier rein. Am Besten 2 mal Abstand 20 Sekunden.

Da muss doch was zu sehen sein. Von Alleine wird der nicht voll.

NR 1;
Mem: 40724K used, 208296K free, 0K shrd, 0K buff, 0K cached
CPU:  45% usr  10% sys   0% nic  43% idle   0% io   0% irq   0% sirq
Load average: 1.27 1.09 1.07 1/71 29481
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
1019     1 nobody   S <  18176   7%   2% /usr/sbin/gpsd -P /var/run/gpsd.pid -n /dev/ttyO3 /dev/pps0
27065  1186 root     S     5504   2%   0% sshd: root@notty
3769  3768 root     S     5472   2%   0% nginx: worker process
3768     1 root     S     5472   2%   0% nginx: master process /usr/sbin/nginx
27771  1186 root     S     5388   2%   0% sshd: root@pts/1
11707  1186 root     S     5372   2%   0% sshd: root@pts/3
27504  1186 root     S     5368   2%   0% sshd: root@pts/0
5489  1186 root     S     5364   2%   0% sshd: root@pts/2
10238  1186 root     S     5352   2%   0% sshd: root@pts/4
1186     1 root     S     2772   1%   0% /usr/sbin/sshd
27076 27075 root     S     2332   1%   0% /usr/libexec/sftp-server
5199     1 root     S     2144   1%   0% /usr/sbin/pppd call blau.de
  759     1 root     S     1968   1%   0% /sbin/udevd -d
  842     1 dbus     S     1308   1%   0% dbus-daemon --system
27508 27504 root     S     1168   0%   0% -sh
1809     1 root     S     1168   0%   0% -sh
  952     1 root     S     1160   0%   0% {pppd_starter} /bin/sh /usr/sbin/pppd_starter /usr/sbin/pppd blau.de
1199     1 root     S     1160   0%   0% /usr/sbin/crond
11723 11707 root     S     1160   0%   0% -sh
5495  5489 root     S     1160   0%   0% -sh
10267 10238 root     S     1156   0%   0% -sh
1515     1 root     S     1156   0%   0% /sbin/udhcpc -R -n -p /var/run/udhcpc.eth0.pid -i eth0
27789 27771 root     S     1156   0%   0% -sh
  783     1 root     S     1152   0%   0% {monitor_bc} /bin/sh /usr/local/sbin/monitor_bc
    1     0 root     S     1152   0%   0% init
  948 27789 root     R     1148   0%   0% top
  782     1 root     S     1148   0%   0% {sys_clock_mgmt} /bin/sh /usr/local/sbin/sys_clock_mgmt /dev/i2c-0
27075 27065 root     S     1144   0%   0% sh -c /usr/libexec/sftp-server
  755     1 root     S     1136   0%   0% /sbin/syslogd -n
  756     1 root     S     1136   0%   0% /sbin/klogd -n
28807   952 root     S     1132   0%   0% sleep 60
29395   783 root     S     1132   0%   0% sleep 2
28997   782 root     S     1132   0%   0% sleep 120
1182  1180 root     S      916   0%   0% /usr/bin/smsd -c /etc/smsd.conf
1180     1 root     S      896   0%   0% /usr/bin/smsd -c /etc/smsd.conf
1004     1 root     S      616   0%   0% /usr/sbin/ifplugd -i wlan0 -fI -u0 -d10
  996     1 root     S      616   0%   0% /usr/sbin/ifplugd -i eth1 -fI -u0 -d10
  992     1 root     S      616   0%   0% /usr/sbin/ifplugd -i eth0 -fI -u0 -d10
1010     1 root     S      616   0%   0% /usr/sbin/ifplugd -i ppp0 -fI -u0 -d10
   57     2 root     SW       0   0%   1% [kworker/0:1]
    9     2 root     SW       0   0%   0% [kworker/u2:1]
    3     2 root     SW       0   0%   0% [ksoftirqd/0]
  678     2 root     SW       0   0%   0% [kworker/u2:2]
  719     2 root     SW       0   0%   0% [irq/162-44e0b00]


NR 2:
Mem: 42616K used, 206404K free, 0K shrd, 0K buff, 0K cached
CPU:  46% usr  12% sys   0% nic  41% idle   0% io   0% irq   0% sirq
Load average: 1.21 1.27 1.17 1/71 14874
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
1019     1 nobody   S <  18176   7%   2% /usr/sbin/gpsd -P /var/run/gpsd.pid -n /dev/ttyO3 /dev/pps0
27065  1186 root     S     5504   2%   0% sshd: root@notty
3769  3768 root     S     5472   2%   0% nginx: worker process
3768     1 root     S     5472   2%   0% nginx: master process /usr/sbin/nginx
27771  1186 root     S     5388   2%   0% sshd: root@pts/1
11707  1186 root     S     5372   2%   0% sshd: root@pts/3
27504  1186 root     S     5368   2%   0% sshd: root@pts/0
5489  1186 root     S     5364   2%   0% sshd: root@pts/2
10238  1186 root     S     5352   2%   0% sshd: root@pts/4
1186     1 root     S     2772   1%   0% /usr/sbin/sshd
27076 27075 root     S     2348   1%   0% /usr/libexec/sftp-server
5199     1 root     S     2144   1%   0% /usr/sbin/pppd call blau.de
  759     1 root     S     1968   1%   0% /sbin/udevd -d
  842     1 dbus     S     1308   1%   0% dbus-daemon --system
27508 27504 root     S     1168   0%   0% -sh
1809     1 root     S     1168   0%   0% -sh
  952     1 root     S     1160   0%   0% {pppd_starter} /bin/sh /usr/sbin/pppd_starter /usr/sbin/pppd blau.de
1199     1 root     S     1160   0%   0% /usr/sbin/crond
11723 11707 root     S     1160   0%   0% -sh
5495  5489 root     S     1160   0%   0% -sh
10267 10238 root     S     1156   0%   0% -sh
1515     1 root     S     1156   0%   0% /sbin/udhcpc -R -n -p /var/run/udhcpc.eth0.pid -i eth0
27789 27771 root     S     1156   0%   0% -sh
  783     1 root     S     1152   0%   0% {monitor_bc} /bin/sh /usr/local/sbin/monitor_bc
    1     0 root     S     1152   0%   0% init
  948 27789 root     R     1148   0%   0% top
  782     1 root     S     1148   0%   0% {sys_clock_mgmt} /bin/sh /usr/local/sbin/sys_clock_mgmt /dev/i2c-0
27075 27065 root     S     1144   0%   0% sh -c /usr/libexec/sftp-server
  755     1 root     S     1136   0%   0% /sbin/syslogd -n
  756     1 root     S     1136   0%   0% /sbin/klogd -n
14802   783 root     S     1132   0%   0% sleep 2
14775   952 root     S     1132   0%   0% sleep 60
8828   782 root     S     1132   0%   0% sleep 120
1182  1180 root     S      916   0%   0% /usr/bin/smsd -c /etc/smsd.conf
1180     1 root     S      896   0%   0% /usr/bin/smsd -c /etc/smsd.conf
1004     1 root     S      616   0%   0% /usr/sbin/ifplugd -i wlan0 -fI -u0 -d10
  996     1 root     S      616   0%   0% /usr/sbin/ifplugd -i eth1 -fI -u0 -d10
  992     1 root     S      616   0%   0% /usr/sbin/ifplugd -i eth0 -fI -u0 -d10
1010     1 root     S      616   0%   0% /usr/sbin/ifplugd -i ppp0 -fI -u0 -d10
   57     2 root     SW       0   0%   1% [kworker/0:1]
    3     2 root     SW       0   0%   0% [ksoftirqd/0]
    9     2 root     SW       0   0%   0% [kworker/u2:1]
  678     2 root     SW       0   0%   0% [kworker/u2:2]
  719     2 root     SW       0   0%   0% [irq/162-44e0b00]

Offline

#9 14.09.2016 19:48:54

chepaz
Mitglied

Re: Speicherverbrauch

Ich würde dir atop für solche Dinge ans Herz legen. Das loggt schon per default und ist recht mächtig. Die Manpage zu lesen empfiehlt sich.

Offline

#10 16.09.2016 13:06:05

Rolo
Mitglied

Re: Speicherverbrauch

niemand schrieb:

2MB Differenz halte ich nicht gerade für aussagekräftig. Mach mal ’n paar weitere Auszüge mit etwas mehr Abstand, und poste sie am besten in  Code-Tags hier rein. Die Ausgabe von z.B. ›top -n 1 -o %MEM‹ würde sich für einen schnellen Überblick gut machen.

Danke für Eure Bemühungen!
@chepaz: atop läuft auf meinem System nicht

@niemand: -o Option gibt es bei meinem top nicht
Anbei zwei top-Ausgaben im Abstand von ca. drei Stunden
/tmp war jeweils unter 1MB

Nr. 1

Mem: 35648K used, 213372K free, 0K shrd, 0K buff, 0K cached
CPU:  44% usr  18% sys   0% nic  36% idle   0% io   0% irq   0% sirq
Load average: 1.24 1.51 1.64 2/82 10554
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
 1731     1 root     S    50588  20%  10% dcs
 1019     1 nobody   S <  18176   7%   3% /usr/sbin/gpsd -P /var/run/gpsd.pid -n /dev/ttyO3 /dev/pps0
 6188  1186 root     S     5476   2%   0% sshd: root@notty
 1167     1 root     S     5472   2%   0% nginx: master process /usr/sbin/nginx
 1169  1167 root     S     5472   2%   0% nginx: worker process
24865  1186 root     S     5388   2%   0% sshd: root@pts/1
 3737  1186 root     S     5372   2%   0% sshd: root@pts/0
13588  1186 root     S     5372   2%   0% sshd: root@pts/2
19190  1186 root     S     5352   2%   0% sshd: root@pts/4
17093  1186 root     S     5352   2%   0% sshd: root@pts/3
 1186     1 root     S     2772   1%   0% /usr/sbin/sshd
 6201  6200 root     S     2300   1%   0% /usr/libexec/sftp-server
 4887     1 root     S     2144   1%   0% /usr/sbin/pppd call blau.de
 1146     1 root     S     2052   1%   0% gpspositiond
  759     1 root     S     2004   1%   0% /sbin/udevd -d
  842     1 dbus     S     1308   1%   0% dbus-daemon --system
 1831     1 root     S     1240   0%   0% dcs_data_transfer
24881 24865 root     S     1172   0%   0% -sh
13606 13588 root     S     1172   0%   0% -sh
  952     1 root     S     1160   0%   0% {pppd_starter} /bin/sh /usr/sbin/pppd_starter /usr/sbin/pppd blau.de
 1836     1 root     S     1160   0%   0% -sh
19213 19190 root     S     1160   0%   0% -sh
17096 17093 root     S     1160   0%   0% -sh
 3753  3737 root     S     1160   0%   0% -sh
 1537     1 root     S     1156   0%   0% /sbin/udhcpc -R -n -p /var/run/udhcpc.eth0.pid -i eth0
  783     1 root     S     1152   0%   0% {monitor_bc} /bin/sh /usr/local/sbin/monitor_bc
    1     0 root     S     1152   0%   0% init
 3929  3753 root     R     1148   0%   0% top
  782     1 root     S     1148   0%   0% {sys_clock_mgmt} /bin/sh /usr/local/sbin/sys_clock_mgmt /dev/i2c-0
 1199     1 root     S     1148   0%   0% /usr/sbin/crond
 6200  6188 root     S     1144   0%   0% sh -c /usr/libexec/sftp-server
29126 24881 root     S     1140   0%   0% tail -fn 20 /tmp/messages
  755     1 root     S     1136   0%   0% /sbin/syslogd -n
  756     1 root     S     1136   0%   0% /sbin/klogd -n
10508   783 root     S     1132   0%   0% sleep 2
 9827   782 root     S     1132   0%   0% sleep 120
10554 10553 root     R     1132   0%   0% /sbin/modprobe -q -- netdev-wlan0
 8740   952 root     S     1132   0%   0% sleep 60
 1179  1176 root     S      916   0%   0% /usr/bin/smsd -c /etc/smsd.conf
 1176     1 root     S      896   0%   0% /usr/bin/smsd -c /etc/smsd.conf
 1011     1 root     S      616   0%   0% /usr/sbin/ifplugd -i ppp0 -fI -u0 -d10
 1004     1 root     D      616   0%   0% /usr/sbin/ifplugd -i wlan0 -fI -u0 -d10
  996     1 root     S      616   0%   0% /usr/sbin/ifplugd -i eth1 -fI -u0 -d10
  992     1 root     S      616   0%   0% /usr/sbin/ifplugd -i eth0 -fI -u0 -d10
    3     2 root     RW       0   0%   1% [ksoftirqd/0]
   57     2 root     SW       0   0%   1% [kworker/0:1]

Nr. 2

Mem: 48848K used, 210172K free, 0K shrd, 0K buff, 0K cached
CPU:  44% usr  19% sys   0% nic  36% idle   0% io   0% irq   0% sirq
Load average: 1.70 1.93 1.74 3/91 25782
  PID  PPID USER     STAT   VSZ %VSZ %CPU COMMAND
 1731     1 root     S    50588  20%   8% dcs
 1019     1 nobody   S <  18176   7%   3% /usr/sbin/gpsd -P /var/run/gpsd.pid -n /dev/ttyO3 /dev/pps0
 6188  1186 root     S     5476   2%   0% sshd: root@notty
 1169  1167 root     S     5472   2%   0% nginx: worker process
 1167     1 root     S     5472   2%   0% nginx: master process /usr/sbin/nginx
24865  1186 root     S     5388   2%   0% sshd: root@pts/1
 3737  1186 root     S     5376   2%   0% sshd: root@pts/0
19190  1186 root     S     5376   2%   0% sshd: root@pts/4
13588  1186 root     S     5372   2%   0% sshd: root@pts/2
17093  1186 root     S     5352   2%   0% sshd: root@pts/3
 1186     1 root     S     2772   1%   0% /usr/sbin/sshd
 6201  6200 root     S     2300   1%   0% /usr/libexec/sftp-server
 4887     1 root     S     2144   1%   0% /usr/sbin/pppd call blau.de
 1146     1 root     S     2052   1%   0% gpspositiond
  759     1 root     S     2004   1%   0% /sbin/udevd -d
  842     1 dbus     S     1308   1%   0% dbus-daemon --system
 1831     1 root     S     1240   0%   0% dcs_data_transfer
13606 13588 root     S     1172   0%   0% -sh
24881 24865 root     S     1172   0%   0% -sh
  952     1 root     S     1160   0%   0% {pppd_starter} /bin/sh /usr/sbin/pppd_starter /usr/sbin/pppd blau.de
 1836     1 root     S     1160   0%   0% -sh
19213 19190 root     S     1160   0%   0% -sh
17096 17093 root     S     1160   0%   0% -sh
 3753  3737 root     S     1160   0%   0% -sh
 1537     1 root     S     1156   0%   0% /sbin/udhcpc -R -n -p /var/run/udhcpc.eth0.pid -i eth0
  783     1 root     S     1152   0%   0% {monitor_bc} /bin/sh /usr/local/sbin/monitor_bc
    1     0 root     S     1152   0%   0% init
  782     1 root     S     1148   0%   0% {sys_clock_mgmt} /bin/sh /usr/local/sbin/sys_clock_mgmt /dev/i2c-0
 1199     1 root     S     1160   0%   0% /usr/sbin/crond
 7344  3753 root     R     1144   0%   0% top
 6200  6188 root     S     1144   0%   0% sh -c /usr/libexec/sftp-server
29126 24881 root     S     1140   0%   0% tail -fn 20 /tmp/messages
  755     1 root     S     1136   0%   0% /sbin/syslogd -n
  756     1 root     S     1136   0%   0% /sbin/klogd -n
23064   952 root     S     1132   0%   0% sleep 60
23147   782 root     S     1132   0%   0% sleep 120
10554 10553 root     R     1132   0%   0% /sbin/modprobe -q -- netdev-wlan0
25760   783 root     S     1132   0%   0% sleep 2
 1179  1176 root     S      916   0%   0% /usr/bin/smsd -c /etc/smsd.conf
 1176     1 root     S      896   0%   0% /usr/bin/smsd -c /etc/smsd.conf
  996     1 root     D      616   0%   0% /usr/sbin/ifplugd -i eth1 -fI -u0 -d10
 1004     1 root     D      616   0%   0% /usr/sbin/ifplugd -i wlan0 -fI -u0 -d10
  992     1 root     S      616   0%   0% /usr/sbin/ifplugd -i eth0 -fI -u0 -d10
 1011     1 root     S      616   0%   0% /usr/sbin/ifplugd -i ppp0 -fI -u0 -d10
    3     2 root     RW       0   0%   1% [ksoftirqd/0]
   57     2 root     SW       0   0%   1% [kworker/0:1]

Offline

#11 21.09.2016 14:28:42

Rolo
Mitglied

Re: Speicherverbrauch

@niemand:

leider habe ich nur ein "abgespecktes" top zur Verfügung

[root@obelix ~]# top -hv
top: invalid option -- h
BusyBox v1.22.1 (2016-08-04 17:45:13 CEST) multi-call binary.

Usage: top [-b] [-nCOUNT] [-dSECONDS]

Provide a view of process activity in real time.
Read the status of all processes from /proc each SECONDS
and display a screenful of them.
Keys:
        N/M/P/T: sort by pid/mem/cpu/time
        R: reverse sort
        Q,^C: exit

Options:
        -b      Batch mode
        -n N    Exit after N iterations
        -d N    Delay between updates

Ich habe aber festgestellt, dass der freie Speicher mit dem Testen  von Webseiten, die von einem nginx-Server auf dem ARM kommen, abnimmt. Warum ist das so?

Offline

#12 21.09.2016 14:42:02

Schard-nologin
Gast

Re: Speicherverbrauch

Es wäre ungemein hilfreich zu wissen, welche Unix / BSD / Linux Distribution du da verwendest.

#13 22.09.2016 00:59:32

Dirk
Moderator

Re: Speicherverbrauch

Warum Busybox? Arch Linux ARM nutzt keine Busybox.

Die Frage nach der Distribution bleibt.

Offline

#14 22.09.2016 14:08:06

Schard-nologin
Gast

Re: Speicherverbrauch

Und gib uns doch bitte nochmal zwei

free

mit drei Stunden Abstand.

#15 22.09.2016 15:26:58

Rolo
Mitglied

Re: Speicherverbrauch

Dirk schrieb:

Warum Busybox? Arch Linux ARM nutzt keine Busybox.

Die Frage nach der Distribution bleibt.

buildroot-2014.11 cross-compiliert unter 4.7.4-1-ARCH Linux

x86_64:
user@computer / $ uname -a
Linux user 4.7.4-1-ARCH #1 SMP PREEMPT Thu Sep 15 15:24:29 CEST 2016 x86_64 GNU/Linux

ARM:
[root@obelix ~]# uname -a
Linux obelix 4.1.18 #1 Thu Aug 4 18:12:27 CEST 2016 armv7l GNU/Linux

Schard-nologin schrieb:

free

[root@obelix ~]# free
             total         used         free       shared      buffers
Mem:        249020        33404       215616          632         3988
-/+ buffers:              29416       219604
Swap:            0            0            0

ca. zwei Stunden später

[root@obelix ~]# free
             total         used         free       shared      buffers
Mem:        249020        50548       198472          632         4304
-/+ buffers:              46244       202776
Swap:            0            0            0

Offline

#16 22.09.2016 15:39:17

Schard-nologin
Gast

Re: Speicherverbrauch

Da läuft offensichtlich doch etwas voll:
33404 - 3988 = 29416 < 46244 = 50548 - 4304
Ich tippe auf irgend ein tmpfs.
Gib mal bitte

# mount
# df -h

sowie präemptiv

du -s /tmp

an.

#17 22.09.2016 17:45:39

Schard-nologin
Gast

Re: Speicherverbrauch

niemand schrieb:

Sorry, ich halte ±20MB nicht für extravagant hohen Verbrauch.

Sofern ich die Ausgangssituation richtig verstanden habe, läuft der Speicher kontinuierlich voll, bis der OOM Killer zuschlägt.
Ohne Last läuft der RAM meiner Server und Workstations auch nicht einfach voll. Und schon gar nicht mit 10 MB/h.

niemand schrieb:

Pi mit ALARM, man beachte den Unterschied zwischen „frei“ und „verfügbar“ – Letzteres ist die Angabe ohne Caches, diese alleine ist aussagekräftig und fehlt oben

Na dann lies nochmal richtig:

-/+ buffers:              29416       219604

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums