[Debian] Geheugen loopt vol, leak? (geen caching/buffering)

Pagina: 1
Acties:

  • m33p
  • Registratie: September 2002
  • Laatst online: 14-01 23:20
Hoi,

Sinds een tijd heb ik op één machine dat het geheugen vol loop. Soms snel, soms langzaam. Ik heb nu MRTG draaien en 'top' bij de hand gehouden om het in de gaten te houden. Zie o.a. deze grafiek:

Afbeeldingslocatie: http://www.pirus.nl/i/localmem-day.png
(real-time versie)

Rond 15:30 doe ik een reboot, daar is het geheugen gebruik 'normaal', rond de 300mb. Alle services en dergelijke zijn hier al gestart. Rond 15 uur is er opeens een piek, wat dit is weet ik ook niet, er lopen geen cronjobs op deze tijd o.i.d., en verder staan er voor zover ik kan scannen ook geen rootkits of iets dergelijks op. Het geheugen gebruik (als ik daarop sorteer in top) geeft ook normale waarden aan voor zover ik kan zien. MySQL en SpamAssassin gebruiken het meest, zo'n 5% per proces.

Iemand enig idee wat dit kan zijn of hoe ik dit kan debuggen? Hieronder heb ik dumps bijgesloten van wat mogelijk belangrijk kan zijn.

Hieronder een ps aux van nu (9:00). De uptime van de machine op het moment van de ps aux (zojuist een reboot gedaan, want Apache reageerde traag, deze is nu weer snel:

code:
1
09:08:25 up 16 min,  1 user,  load average: 0.00, 0.00, 0.02


De output van free -m

code:
1
2
3
4
             total       used       free     shared    buffers     cached
Mem:           994        317        677          0         25        120
-/+ buffers/cache:        170        823
Swap:          956          0        956


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  1584  512 ?        Ss   08:51   0:00 init [2]
root         2  0.0  0.0     0    0 ?        SN   08:51   0:00 [ksoftirqd/0]
root         3  0.0  0.0     0    0 ?        S    08:51   0:00 [watchdog/0]
root         4  0.0  0.0     0    0 ?        S<   08:51   0:00 [events/0]
root         5  0.0  0.0     0    0 ?        S<   08:51   0:00 [khelper]
root         6  0.0  0.0     0    0 ?        S<   08:51   0:00 [kthread]
root         8  0.0  0.0     0    0 ?        S<   08:51   0:00 [kblockd/0]
root        11  0.0  0.0     0    0 ?        S<   08:51   0:00 [khubd]
root        13  0.0  0.0     0    0 ?        S<   08:51   0:00 [kseriod]
root        61  0.0  0.0     0    0 ?        S    08:51   0:00 [kapmd]
root       134  0.0  0.0     0    0 ?        S    08:51   0:00 [pdflush]
root       135  0.0  0.0     0    0 ?        R    08:51   0:00 [pdflush]
root       136  0.0  0.0     0    0 ?        S    08:51   0:00 [kswapd0]
root       137  0.0  0.0     0    0 ?        S<   08:51   0:00 [aio/0]
root       752  0.0  0.0     0    0 ?        S<   08:51   0:00 [scsi_eh_0]
root       764  0.0  0.0     0    0 ?        S<   08:51   0:00 [scsi_eh_1]
root       823  0.0  0.0     0    0 ?        S<   08:51   0:00 [exec-osm/0]
root       830  0.0  0.0     0    0 ?        S<   08:51   0:00 [block-osm/0]
root       841  0.0  0.0     0    0 ?        S    08:51   0:00 [pktgen/0]
root       845  0.0  0.0     0    0 ?        S<   08:51   0:00 [kjournald]
root     10479  0.0  0.0     0    0 ?        S<   08:51   0:00 [kjournald]
root     19101  0.0  0.0     0    0 ?        S<   08:51   0:00 [loop0]
root     17334  0.0  0.0  1624  548 ?        Ss   08:51   0:00 /sbin/syslogd
root     25549  0.0  0.0  1580  360 ?        Ss   08:51   0:00 /sbin/klogd
root      1358  0.0  0.0  5304  576 ?        Ss   08:51   0:00 /usr/sbin/pdns_server --daemon --guardian=yes
root     31984  0.0  0.0  5304  576 ?        S    08:51   0:00 /usr/sbin/pdns_server --daemon --guardian=yes
root     21051  0.0  0.0  5304  576 ?        S    08:51   0:00 /usr/sbin/pdns_server --daemon --guardian=yes
root     32217  0.0  2.7 29696 27520 ?       Ss   08:51   0:00 /usr/sbin/spamd -u popuser -d -m 20 -x --virtual-config-dir=/var/qmail/mailnames/%d/%l --socketpath=/tmp/spamd_full.sock -d --pidfile=/tmp/spamd.pid
root     28922  0.0  0.0  2904  708 ?        S    08:51   0:00 /usr/lib/courier-imap/couriertcpd -address=0 -stderrlogger=/usr/sbin/courierlogger -stderrloggername=imapd -maxprocs=40 -maxperip=4 -pid=/var/run/imapd.pid -nodnslookup -noidentlookup 143 /usr/sbin/imaplogin /usr/lib/courier-imap/authlib/authpsa /usr/bin/imapd Maildir
root     21558  0.0  0.0  2804  776 ?        S    08:51   0:00 /usr/sbin/courierlogger imapd
root     16873  0.0  0.0  2904  708 ?        S    08:51   0:00 /usr/lib/courier-imap/couriertcpd -address=0 -stderrlogger=/usr/sbin/courierlogger -stderrloggername=imapd-ssl -maxprocs=40 -maxperip=4 -pid=/var/run/imapd-ssl.pid -nodnslookup -noidentlookup 993 /usr/bin/couriertls -server -tcpd /usr/sbin/imaplogin /usr/lib/courier-imap/authlib/authpsa /usr/bin/imapd Maildir
root     31320  0.0  0.0  2804  776 ?        S    08:51   0:00 /usr/sbin/courierlogger imapd-ssl
root     24875  0.0  0.0  2904  704 ?        S    08:51   0:00 /usr/lib/courier-imap/couriertcpd -address=0 -stderrlogger=/usr/sbin/courierlogger -stderrloggername=pop3d -maxprocs=40 -maxperip=4 -pid=/var/run/pop3d.pid -nodnslookup -noidentlookup 110 /usr/sbin/pop3login /usr/lib/courier-imap/authlib/authpsa /usr/bin/pop3d Maildir
root      5278  0.0  0.0  2804  772 ?        S    08:51   0:00 /usr/sbin/courierlogger pop3d
root      7972  0.0  0.0  2904  704 ?        S    08:51   0:00 /usr/lib/courier-imap/couriertcpd -address=0 -stderrlogger=/usr/sbin/courierlogger -stderrloggername=pop3d-ssl -maxprocs=40 -maxperip=4 -pid=/var/run/pop3d-ssl.pid -nodnslookup -noidentlookup 995 /usr/bin/couriertls -server -tcpd /usr/sbin/pop3login /usr/lib/courier-imap/authlib/authpsa /usr/bin/pop3d Maildir
root     24646  0.0  0.0  2804  772 ?        S    08:51   0:00 /usr/sbin/courierlogger pop3d-ssl
root      2847  0.0  0.8 26408 8360 ?        Ss   08:51   0:00 /usr/sbin/dccifd
root      5517  0.0  0.0  1612  480 ?        Ss   08:51   0:00 /usr/sbin/inetd
list     22196  0.0  0.3  7816 4032 ?        Ss   08:51   0:00 /usr/bin/python /usr/lib/mailman/bin/mailmanctl -s start
list     11742  0.0  0.5  7616 5292 ?        S    08:51   0:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=ArchRunner:0:1 -s
list     12461  0.0  0.5  7536 5308 ?        S    08:51   0:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=BounceRunner:0:1 -s
list     24911  0.0  0.5  7648 5304 ?        S    08:51   0:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=CommandRunner:0:1 -s
list     22733  0.0  0.5  7532 5292 ?        S    08:51   0:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=IncomingRunner:0:1 -s
list     30585  0.0  0.5  7624 5328 ?        S    08:51   0:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=NewsRunner:0:1 -s
list     22310  0.0  0.5  7680 5384 ?        S    08:51   0:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0:1 -s
list      8209  0.0  0.5  7532 5296 ?        S    08:51   0:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=VirginRunner:0:1 -s
list     13818  0.0  0.5  7532 5292 ?        S    08:51   0:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=RetryRunner:0:1 -s
root      7844  0.0  0.1  2584 1240 ?        S    08:51   0:00 /bin/sh /usr/bin/mysqld_safe
mysql     8212  0.1  2.5 129788 25864 ?      S    08:51   0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
root      8500  0.0  0.0  1568  500 ?        S    08:51   0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
qmails   30949  0.0  0.0  1620  468 ?        S    08:51   0:00 qmail-send
qmaill    5003  0.0  0.0  1580  448 ?        S    08:51   0:00 splogger qmail 2
root     17091  0.0  0.0  1608  356 ?        S    08:51   0:00 qmail-lspawn ./Maildir/
qmailr    3155  0.0  0.0  1604  368 ?        S    08:51   0:00 qmail-rspawn
qmailq   16382  0.0  0.0  1568  324 ?        S    08:51   0:00 qmail-clean
root     17267  0.0  0.2 17708 2108 ?        S    08:51   0:00 /usr/sbin/pdns_server-instance --daemon --guardian=yes
root      2412  0.0  1.4 30552 14524 ?       Ss   08:51   0:00 /usr/sbin/apache2 -k start -DSSL
www-data  8838  0.0  0.6 23480 6360 ?        S    08:51   0:00 /usr/sbin/apache2 -k start -DSSL
popuser  16683  0.0  2.5 29696 26140 ?       S    08:51   0:00 spamd child
popuser   2651  0.0  2.7 30224 27736 ?       S    08:52   0:00 spamd child
root      7662  0.0  0.2 17708 2108 ?        S    08:52   0:00 /usr/sbin/pdns_server-instance --daemon --guardian=yes
root      1084  0.0  0.2 17708 2108 ?        S    08:52   0:00 /usr/sbin/pdns_server-instance --daemon --guardian=yes
root     22147  0.0  0.2 17708 2108 ?        S    08:52   0:00 /usr/sbin/pdns_server-instance --daemon --guardian=yes
root     27219  0.0  0.2 17708 2108 ?        S    08:52   0:00 /usr/sbin/pdns_server-instance --daemon --guardian=yes
root     14545  0.0  0.2 17708 2108 ?        S    08:52   0:00 /usr/sbin/pdns_server-instance --daemon --guardian=yes
root      9084  0.0  0.2 17708 2108 ?        S    08:52   0:00 /usr/sbin/pdns_server-instance --daemon --guardian=yes
www-data 13104  0.1  1.4 34220 14404 ?       S    08:52   0:01 /usr/sbin/apache2 -k start -DSSL
www-data 26746  0.1  1.4 34492 14436 ?       S    08:52   0:01 /usr/sbin/apache2 -k start -DSSL
www-data 23257  0.1  1.3 33168 13540 ?       S    08:52   0:00 /usr/sbin/apache2 -k start -DSSL
root       336  0.0  0.2 17708 2108 ?        S    08:52   0:00 /usr/sbin/pdns_server-instance --daemon --guardian=yes
root     13672  0.0  0.5 35612 5212 ?        Ss   08:52   0:00 /opt/psa/admin/bin/httpsd
psaadm    6918  0.0  1.0 41276 11132 ?       S    08:52   0:00 /opt/psa/admin/bin/httpsd
psaadm   17711  0.0  0.7 38744 7772 ?        S    08:52   0:00 /opt/psa/admin/bin/httpsd
drweb     2537  0.0  1.2 16368 12292 ?       Ss   08:52   0:00 /opt/drweb/drwebd
drweb    27857  0.0  1.1 16368 12124 ?       S    08:52   0:00 /opt/drweb/drwebd
drweb    12707  0.0  1.1 16368 12128 ?       S    08:52   0:00 /opt/drweb/drwebd
drweb     9101  0.0  1.2 16368 12404 ?       S    08:52   0:00 /opt/drweb/drwebd
drweb    20247  0.0  1.2 16368 12404 ?       S    08:52   0:00 /opt/drweb/drwebd
root      1248  0.0  0.0  2900  728 ?        Ss   08:52   0:00 /opt/psa/admin/sbin/modules/vpn/openvpn --config /opt/psa/var/modules/vpn/openvpn.conf
root        62  0.0  0.3  5768 3372 ?        S    08:52   0:00 /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid
root     20844  0.0  0.0  3544  920 ?        Ss   08:52   0:00 /usr/sbin/sshd
root     21071  0.0  0.0  2964  672 ?        S<s  08:52   0:00 /usr/local/ventrilo/ventrilo_srv -f/usr/local/ventrilo/configs/blubvis -d
root      8562  0.0  0.0  2964  676 ?        S<s  08:52   0:00 /usr/local/ventrilo/ventrilo_srv -f/usr/local/ventrilo/configs/notorious -d
root     13352  0.0  0.0  1820  752 ?        Ss   08:52   0:00 /usr/sbin/cron
root     30115  0.0  0.0  1576  480 tty1     Ss+  08:52   0:00 /sbin/getty 38400 tty1
root     29156  0.0  0.0  1576  480 tty2     Ss+  08:52   0:00 /sbin/getty 38400 tty2
root     29947  0.0  0.0  1576  480 tty3     Ss+  08:52   0:00 /sbin/getty 38400 tty3
root     32218  0.0  0.0  1576  480 tty4     Ss+  08:52   0:00 /sbin/getty 38400 tty4
root     19170  0.0  0.5 16924 6012 ?        Ss   08:52   0:00 /opt/psa/admin/bin/php /opt/psa/admin/bin/modules/watchdog/wdcollect -c /opt/psa/etc/modules/watchdog/wdcollect.inc.php
root      1033  0.0  0.2 11916 2148 ?        Ss   08:52   0:00 /opt/psa/admin/bin/modules/watchdog/monit -Ic /opt/psa/etc/modules/watchdog/monitrc
www-data  1454  0.0  1.2 31220 12964 ?       S    08:53   0:00 /usr/sbin/apache2 -k start -DSSL
www-data 13719  0.1  1.2 33384 13076 ?       S    08:53   0:00 /usr/sbin/apache2 -k start -DSSL
www-data   247  0.1  1.3 33448 13388 ?       S    08:53   0:01 /usr/sbin/apache2 -k start -DSSL
www-data 12117  0.0  1.2 30880 12300 ?       S    08:53   0:00 /usr/sbin/apache2 -k start -DSSL
root      3046  0.0  0.2 16128 2272 ?        Ss   08:53   0:00 sshd: daniel [priv]
daniel   24763  0.0  0.1 16128 1852 ?        S    08:53   0:00 sshd: daniel@pts/0
daniel    2079  0.0  0.1  4828 1636 pts/0    Ss   08:53   0:00 -bash
root     13843  0.0  0.1  2640 1452 pts/0    R    08:53   0:00 -su
root     31425  0.0  0.0  2560  856 pts/0    R+   09:04   0:00 ps aux


Nog wat extra info:

vmstat na 50 min. uptime:
code:
1
2
3
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 2  0      0 619692  33320 169804    0    0    54    55 1118   145  3  1 95  1


Die io 54 / 55 is dat normaal? De HDD's werken wel gewoon (Raid1 array op 3Ware SATA controller)

code:
1
2
3
/dev/sda:
 Timing cached reads:   3604 MB in  2.00 seconds = 1801.25 MB/sec
 Timing buffered disk reads:  240 MB in  3.04 seconds =  78.94 MB/sec

[ Voor 5% gewijzigd door m33p op 09-02-2007 10:44 ]


  • WHiZZi
  • Registratie: Januari 2001
  • Laatst online: 02-02 09:19

WHiZZi

Museumdirecteurtje

Volgens mij is dit redelijk normaal onder Linux hoor. Linux gebruikt het geheugen t.b.v. caching.

De vraag is eigenlijk, draait het systeem nog goed als het "geheugen vol loopt"? If so, dan is er gewoon niks aan de hand ;)

HomeComputerMuseum - Interactief computermuseum waar wij de geschiedenis van de thuiscomputer preserveren. Centraal gelegen in de Benelux.


  • TommyGun
  • Registratie: Mei 2004
  • Laatst online: 29-01 19:31

TommyGun

Stik er maar in!

WHiZZi schreef op vrijdag 09 februari 2007 @ 09:25:
Volgens mij is dit redelijk normaal onder Linux hoor. Linux gebruikt het geheugen t.b.v. caching.

De vraag is eigenlijk, draait het systeem nog goed als het "geheugen vol loopt"? If so, dan is er gewoon niks aan de hand ;)
Indeed, mijn machine heeft 4 GB en na enkele uren is dit ook volledig in gebruik. Tevens wordt er dan flink wat gecached. (Buffer is leeg). Neem dus aan dat Linux gewoon alles reserveerd, en je daarom dit krijgt. (Machine is verder gewoon retesnel).

Edit; maar bij jou wordt er niet gecached?

[ Voor 5% gewijzigd door TommyGun op 09-02-2007 09:27 ]

“In a world without walls and fences, who needs Windows and Gates".


  • m33p
  • Registratie: September 2002
  • Laatst online: 14-01 23:20
Dat staat in mijn post, dit is 'used' geheugen, geen caching / buffering. Ik heb helaas nu geen free -m output bij de hand van wanneer de boel zit, maar ik heb al aardig wat vooronderzoek gedaan, en dit is geen caching als het goed is.

Apache werd ook traag zoals vermeld in mijn startpost, maar alles is nog wel werkbaar (er blijft nog wel 100mb geheugen over uiteindelijk, volgens mij vult hij dat ook niet maar ik weet eigenlijk niet of hij is gaan swappen.

Ik ga pas weer eind Maart naar het datacentrum om die bak te verhuizen naar een ander DC, ik hoopte er eigenlijk niet eerder heen te hoeven.

  • TommyGun
  • Registratie: Mei 2004
  • Laatst online: 29-01 19:31

TommyGun

Stik er maar in!

Dan is er idd misschien toch iets niet goed. Bij mij geeft free -m het volgende;

code:
1
2
3
4
5
[root@gateway ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3677       3657         19          0         18       2932
-/+ buffers/cache:        707       2970
Swap:         2078          0       2078

“In a world without walls and fences, who needs Windows and Gates".


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 02-02 19:38

Creepy

Tactical Espionage Splatterer

Ik denk dat het interresanter is om een free te zien op het moment dat het geheugen vol zit. De free die je nu laat zien geeft in elk geval zat vrij geheugen aan.

Als apache traag lijkt te reageren kijk dan naar welke pagina's op dat moment worden opgevraag en controleer of die niet al te veel spannnende zaken doet (foute scripts, flinke tabellen opvragen met verkeerde indexen e.d. etc).

[ Voor 41% gewijzigd door Creepy op 09-02-2007 16:51 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Reinstein
  • Registratie: Juni 2003
  • Laatst online: 03-12-2025

Reinstein

Half-Nul

Volgens mij is het vrij normaal hoor dat je geheugen "vol" loopt. Das bij mijn server ook alzo vanaf het begin, en dat ding wordt niet traag ofzo. Check: http://ogr-p2.fryslanmp.nl/stats en dan de memory grafiekjes.

Open source modeltrein besturings software


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

m33p schreef op vrijdag 09 februari 2007 @ 09:06:
Hieronder een ps aux van nu (9:00). De uptime van de machine op het moment van de ps aux (zojuist een reboot gedaan, want Apache reageerde traag, deze is nu weer snel:
Heb je dat objectief vastgesteld? Als je een probleem vermoed, beginnen processenbij mij altijd traag te lijken ;).

Wie trösten wir uns, die Mörder aller Mörder?

Pagina: 1