# Fehlermeldung im Log und Speicherproblem

## Obelix

Hallo zusammen,

ich betreibe hier einen kleinen Server, der mir ein wenig Sorgen bereitet, weil ich die Meldung nicht wirklich verstehe.

Folgendes bekomme ich in regelmäßiger Unregelmäßigkeit in /var/log/messages ausgegeben: http://nopaste.info/961f3bb7a5.html

Zwar kann ich erkennen, dass es wohl ein Problem mit Speicher ist, aber was das bedeutet ist mir nicht klar. Ebensowenig verstehe ich, wo denn der ganze Speicher hin ist. Die Kiste hat 2 Prozessoren mit je 4 Kernen und 16GB RAM. Es laufen einige Dienste auf dem Rechner, aber nichts weltbewegendes. Eigentlich sollte der Speicher ja reichen. Leider ist der Speicher fast immer voll.

Es gibt ein headless VirtualBox (ca- 4GB) und es läuft irgendwas mit Java (ein Job mit 8GB und einer mit 7GB) die ich nicht genau identifizieren kann.

Eine ausführliche Prozessliste liefert folgendes Ergebnis:

```
13538          -         201            0         28K      17588K         1.0G        136K         4.4G        3.3G          0K          68K       3820K      root           root           21%       VBoxHeadless

12404          -           3            0         36K      14068K         8.2G        136K         8.3G      277.8M          0K           0K      14372K      root           root            2%       java

11454          -           0            0         36K      14068K         6.9G        136K         7.0G      127.1M          0K           0K      32444K      root           root            1%       java

13715          -           0            0        396K      24904K       30632K        156K       228.7M      28628K          0K           0K       3832K      apache         apache          0%       apache2

25790          -           0            0        396K      24904K       26776K        136K       223.4M      26004K          0K           0K       2288K      apache         apache          0%       apache2

18818          -           0            0        396K      24904K       26692K        136K       224.8M      25092K          0K           0K       3056K      apache         apache          0%       apache2

18619          -           0            0        396K      24904K       25980K        136K       224.1M      24976K          0K           0K       3008K      apache         apache          0%       apache2

10585          -           0            0       6888K       6108K       702.5M        136K       744.1M      24868K          0K           0K      17132K      mysql          mysql           0%       mysqld

25823          -           0            0        396K      24924K       25172K        136K       223.8M      24784K          0K           0K       2108K      apache         apache          0%       apache2

25106          -           0            0        396K      24904K       23476K        136K       220.1M      23056K          0K           0K       2404K      apache         apache          0%       apache2

  947          -           0            0        396K      24904K       24472K        136K       222.6M      22768K          0K           0K       3340K      apache         apache          0%       apache2

32477          -           0            0        396K      24904K       16500K        136K       214.9M      16164K          0K           0K       1704K      apache         apache          0%       apache2

32603          -           0            0        396K      24904K       17280K        136K       214.1M      15708K          0K           0K       2860K      apache         apache          0%       apache2

14878          -        1225            0        164K       3384K        3292K        136K       25520K       7120K          0K           0K          0K      root           root            0%       atop

11045          -           0            0        396K      24904K        7932K        136K       204.9M       5496K          0K           0K       2920K      root           root            0%       apache2

 6231          -           0            0        396K      24904K        8200K        136K       205.2M       5252K          0K           0K       2776K      apache         apache          0%       apache2

 9751          -           0            0       9064K       5820K        1144K        136K       68048K       3716K          0K           0K        428K      root           root            0%       smbd

10071          -           0            0        488K       4200K         644K        136K       71840K       3232K          0K           0K         28K      root           root            0%       sshd

 4244          -           0            0       9064K       5820K        1076K        136K       67980K       2776K          0K           0K        436K      root           root            0%       smbd

11047          -           0            0        396K      24876K        3828K        136K       198.3M       2768K          0K           0K       1700K      apache         apache          0%       apache2

16916          -           0            0       9064K       5820K         952K        136K       67840K       2388K          0K           0K        464K      root           root            0%       smbd

10504          -           0            0        712K       2580K         484K        136K       20424K       2212K          0K           0K         36K      root           root            0%       bash

 2462          -           0            1        340K       2464K        1516K        136K       22996K       2076K          0K           0K        116K      root           root            0%       screen

 2252          -           0            0       2560K      12880K       583.1M        136K       648.0M       1636K          0K           0K       1688K      root           root            0%       VBoxSVC

 2407          -           0            0      11484K      14264K       645.6M        136K       723.6M       1620K          0K           0K       1652K      root           root            0%       vboxwebsrv

 6738          -           0            0        368K       2192K        1208K        136K       24488K       1400K          0K           0K         40K      obelix         obelix          0%       rsync

 2182          -           0            0       9064K       5800K         952K        136K       62388K       1372K          0K           0K        508K      root           root            0%       smbd

 2951          -           0            0        712K       2580K         484K        136K       20424K       1184K          0K           0K        276K      root           root            0%       bash

10074          -           0            0        340K       2464K         412K        136K       21892K       1072K          0K           0K          4K      root           root            0%       screen

 6751          -           0            0        368K       2192K        1436K        136K       24716K       1048K          0K           0K         20K      obelix         obelix          0%       rsync

 2187          -           0            0       3392K       2360K         884K        136K       32088K        972K          0K           0K        340K      root           root            0%       nmbd

14998          -           0            0         64K       3880K         400K        136K       39476K        936K          0K           0K        104K      root           root            0%       svnserve

 2154          -           1            0        496K       4740K         684K        136K       28836K        792K          0K           0K        388K      root           root            0%       ntpd

 2129          -           0            0         92K       3256K         784K        136K       30996K        720K          0K           0K        144K      root           root            0%       eibnetmux

 2015          -           0            0         32K       1880K         176K        136K        8412K        568K          0K           0K         20K      root           root            0%       syslogd

 2052          -           0            0        488K       3888K         444K        136K       31820K        504K          0K           0K        316K      root           root            0%       sshd

 2117          -           0            0         32K       2004K         180K        136K       12652K        504K          0K           0K         44K      root           root            0%       crond

 2195          -           0            0       9064K       5800K         952K        136K       62376K        480K          0K           0K        724K      root           root            0%       smbd

```

...und an Diensten sind folgende gestartet

```
gserv ~ # rc-status

Runlevel: default

 net.eth0                                                                                                                                                                                              [  started  ]

 samba                                                                                                                                                                                                 [  started  ]

 vboxwebsrv                                                                                                                                                                                            [  started  ]

 sysklogd                                                                                                                                                                                              [  started  ]

 ntp-client                                                                                                                                                                                            [  started  ]

 ntpd                                                                                                                                                                                                  [  started  ]

 dcron                                                                                                                                                                                                 [  started  ]

 mysql                                                                                                                                                                                                 [  started  ]

 netmount                                                                                                                                                                                              [  started  ]

 sshd                                                                                                                                                                                                  [  started  ]

 apache2                                                                                                                                                                                               [  started  ]

 eibnetmux                                                                                                                                                                                             [  started  ]

 vboxinit                                                                                                                                                                                              [  started  ]

 vsftpd                                                                                                                                                                                                [  started  ]

 apcupsd                                                                                                                                                                                               [  started  ]

 mdadm                                                                                                                                                                                                 [  started  ]

 rsyncd                                                                                                                                                                                                [  started  ]

 svnserve                                                                                                                                                                                              [  started  ]

 udev-postmount                                                                                                                                                                                        [  started  ]

 local                                                                                                                                                                                                 [  started  ]

Dynamic Runlevel: hotplugged

Dynamic Runlevel: needed

 udev-mount                                                                                                                                                                                            [  started  ]

Dynamic Runlevel: manual

 openremote 
```

Kann jemand identifizieren, was den Fehler aus /var/log/messages verursacht und welcher Dienst da in java geschrieben ist, der so viel Speicher belegt?

(Ich werde wohl noch ein wenig Speicher nachlegen müssen)

Hier am Arbeitsplatz habe ich einen Rechner mit nur einem Prozessor, weniger Speicher (ok - nicht ganz so viele Dienste), und da ist MASSIG Speicher übrig....

----------

## franzf

Das ist AFAICS der swapper, der den Fehler wirft. Ich gehe davon aus, dass du keine Swap-Partition eingerichtet hast, korrekt?

Gibt ps aux | grep java irgend etwas genaueres aus?

----------

## Obelix

doch, swap ist da, folgender Eintrag in der /etc/fstab:

```
/dev/sda1   /boot        ext4    defaults,noatime     1 2

/dev/sda2   none         swap    sw                   0 0

/dev/sda3   /            ext4    noatime              0 1

/dev/sdc1   /mnt/camera  ext4    noatime              0 1
```

das Java-Zeug war meine KNX/EIB (Hausbus) Steuerung, ich hab das mal beendet und neu gestartet. Schnappt sich sofort wieder 8G Speicher. Muss ich mal nachfragen...

Allerdings ist der Speicher auch voll, wenn das java Zeug nicht läuft. Dann brauchts der apache. Da laufen >>10 Prozesse, und jeder will ein paar GB haben.

Wahrscheinlich kommt der Fehler davon, dass der SWAP auch voll ist. Kann das sein?

----------

## firefly

möglich, dass dann auch swap voll läuft.

was sagt denn ein free?

Und wie groß ist /dev/sda2?

----------

## Obelix

...eigentlich schaut swap nicht arg voll aus:

```
gserv ~ # free 

             total       used       free     shared    buffers     cached

Mem:      16431208   16223932     207276          0     459484   10610864

-/+ buffers/cache:    5153584   11277624

Swap:      2097148      46432    2050716
```

aber wundern tuts mich schon, dass da 16G belegt sind. Zwar habe ich ein paar Sachen laufen im apache, aber gleich 16G...

----------

## Max Steel

Tipp: free -m liefert menschenlesbarere (Angaben in Megabytes) Ergebnisse:

Und du liest free nicht ganz richtig.

Es stimmt zwar das 16GB verwendet werden, aber davon sind 10GB cache und buffers und nur etwa 5-6GB sind Anwendungsdaten.

Wenn du den Cache und den buffer abziehst sind 11GB frei. (siehe 2.Zeile) Das ist auch das Verhalten das man sich wünscht. Das ungenutzter Speicher für häufig verwendete DAten verwendet wird um den wiederholten Start eines Programms oder ähnliches zu beschleunigen.

Was allerdings doof ist ist, das für den cache Anwendungsdaten in den Swap gelegt werden wenn dieser vorhanden ist, zumindest verstehe ich die Ausgabe leider so. (gefährliches Halbwissen, bitte berichtigen falls falsch)

Außerdem hat der Apache auch nur 1 mal xGB RAM-Verwendung, da auch Threads des apache unter top mit den gleichen Angaben, wie der Hostprozess, laufen.  :Wink: 

Wegen der swapper-Fehlermeldung:

Ist es möglich das deine Festplatte innerhalb der swap-Partition Probleme hat (beschädigte Sektoren, oder ähnliches)

----------

## Obelix

Ich hab jetzt mal die swap Partition geprüft:

```
gserv ~ # mke2fs -c /dev/sda2

mke2fs 1.42 (29-Nov-2011)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

131072 inodes, 524288 blocks

26214 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=536870912

16 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks: 

        32768, 98304, 163840, 229376, 294912

Checking for bad blocks (read-only test): done                                                 

Allocating group tables: done                            

Writing inode tables: done                            

Writing superblocks and filesystem accounting information: done 
```

Platte scheint also in Ordnung zu sein. Leider hagelt es trotzdem diese Fehlermeldungen, wenn mal mehr los ist auf dem Server.

Hat noch jemand Ideen?

----------

## Treborius

 *Obelix wrote:*   

> 
> 
> das Java-Zeug war meine KNX/EIB (Hausbus) Steuerung, ich hab das mal beendet und neu gestartet. Schnappt sich sofort wieder 8G Speicher. Muss ich mal nachfragen...
> 
> 

 

- brauchste nicht nachfragen, die vm schnappt sich auch soviel speicher wie sie kriegen kann

- genau der selbe grund :[/quote] warum den speicher ungenutzt lassen, wenn man ihn als cache nutzen kann

geht der fehler denn weg, wenn du mit swapoff den swap mal deaktivierst?

bei 16GB ist swap doch eh total unnötig

----------

## Obelix

ich kann den swap mal abschalten und sehen. ich kannte das halt noch von (ganz, ganz) früher, da hat man gesagt mindestens genau soviel swap wie ram. Also habe ich 20GB swap angelegt...

ich werde den swap mal abschalten und sehen. Da der Fehler mit swap zu tun hat, gehe ich sehr davon aus, dass es dann keinen Fehler mehr gibt. Aber ist das wirklich sinnvoll, ohne swap zu arbeiten?

----------

## Max Steel

 *Obelix wrote:*   

> ich kann den swap mal abschalten und sehen. ich kannte das halt noch von (ganz, ganz) früher, da hat man gesagt mindestens genau soviel swap wie ram. Also habe ich 20GB swap angelegt...

 

Das war noch zu Zeiten als man Arbeitsspeicher mit tausend Mark zahlte, und man für die doppelte Größe auch wirklich das doppelte Geld zahlte (naja... fast) der Fall. Heute braucht man swap nurnoch für suspend to disk oder bei geringer Arbeitsspeicher-größe (bei mir funktionierte es mit 4GB bereits, wobei das regelmäßig eng wurde).

----------

## firefly

Und es kommt darauf an was für Applikationen laufen. Wenn z.b. auf der Maschine ein paar VMs laufen, welche jeweils einige GB am zugeteilten RAM haben, dann kann auch bei 16GB eine swap-parition/ein swap-file von vorteil sein. Denn wenn der RAM knapp wird, und keine swap vorhanden oder auch schon voll, dann kann es sein, dass der kernel irgendeinen prozess, welcher viel RAM verbraucht, einfach killt (OOM-killer als stichwort)

----------

## bell

Beim Start von Java-Anwendungen kann man einstellen wie viel RAM sie brauchen dürfen.

Aus "man java"

```
             -Xmsn

                Specify the initial size, in bytes, of the memory allocation

                pool. This value must be a multiple of 1024 greater than 1MB.

                Append the letter k or K to indicate kilobytes, or m or M to

                indicate megabytes. The default value is chosen at runtime

                based on system configuration. For more information, see

                HotSpot Ergonomics

                Examples:

                       -Xms6291456

                       -Xms6144k

                       -Xms6m

             -Xmxn

                Specify the maximum size, in bytes, of the memory allocation

                pool. This value must a multiple of 1024 greater than 2MB.

                Append the letter k or K to indicate kilobytes, or m or M to

                indicate megabytes. The default value is chosen at runtime

                based on system configuration. For more information, see

                HotSpot Ergonomics

                Examples:

                       -Xmx83886080

                       -Xmx81920k

                       -Xmx80m
```

Normalerweise sind diese Parameter im Startscript der Anwendung enthalten und können angepasst werden.

16 GB für Java ist eindeutig zu viel. Da kommt der Garbage-Collector ja nie zum Einsatz.

----------

## mrsteven

Hmm, sehr merkwürdig: Der Kernel versucht 32 Pages (order=5, also 2^5 Pages) zu reservieren, also bei einer Page-Größe von 4kB 128kB. Das sollte bei deiner Speicherauslastung (siehe Ausgabe von free) eigentlich noch drin sein. Außerdem sollte ja, wenn der Speicher wirklich knapp wird, erstmal der OOM-Killer zuschlagen, was hier anscheinend (siehe Logmeldung) nicht passiert.  :Confused:  So wie es aussieht, geht da eine Speicherbelegung schief, für die nicht geswappt werden kann. 

Ich vermute, dass es da irgendein Treiberproblem gibt, entweder mit der Netzwerkkarte oder VirtualBox (skb_copy - siehe Log - ist eine Kernel-Routine, die Netzwerkdaten umher kopiert).

Die Ausgabe von slabtop könnte hier auch noch ganz interessant sein, genauso wie die Version von VirtualBox und die verwendete Netzwerkkarte.

----------

## Obelix

...ich hab mal den swap abgeschaltet, aber die Meldung(en) kommen immer noch:

```
Oct  3 10:37:47 gserv klogd: [1042690.171317] Node 0 DMA32 per-cpu:

Oct  3 10:37:47 gserv klogd: [1042690.171319] CPU    0: hi:  186, btch:  31 usd:   0

Oct  3 10:37:47 gserv klogd: [1042690.171321] CPU    1: hi:  186, btch:  31 usd: 164

Oct  3 10:37:47 gserv klogd: [1042690.171323] CPU    2: hi:  186, btch:  31 usd:   0

Oct  3 10:37:47 gserv klogd: [1042690.171324] CPU    3: hi:  186, btch:  31 usd:   0

Oct  3 10:37:47 gserv klogd: [1042690.171326] CPU    4: hi:  186, btch:  31 usd:   0

Oct  3 10:37:47 gserv klogd: [1042690.171328] CPU    5: hi:  186, btch:  31 usd:   0

Oct  3 10:37:47 gserv klogd: [1042690.171329] CPU    6: hi:  186, btch:  31 usd:   0

Oct  3 10:37:47 gserv klogd: [1042690.171331] CPU    7: hi:  186, btch:  31 usd:   0

Oct  3 10:37:47 gserv klogd: [1042690.171332] Node 0 Normal per-cpu:

Oct  3 10:37:47 gserv klogd: [1042690.171334] CPU    0: hi:  186, btch:  31 usd: 126

Oct  3 10:37:47 gserv klogd: [1042690.171335] CPU    1: hi:  186, btch:  31 usd: 159

Oct  3 10:37:47 gserv klogd: [1042690.171337] CPU    2: hi:  186, btch:  31 usd:  57

Oct  3 10:37:47 gserv klogd: [1042690.171338] CPU    3: hi:  186, btch:  31 usd: 182

Oct  3 10:37:47 gserv klogd: [1042690.171340] CPU    4: hi:  186, btch:  31 usd: 185

Oct  3 10:37:47 gserv klogd: [1042690.171342] CPU    5: hi:  186, btch:  31 usd:  17

Oct  3 10:37:47 gserv klogd: [1042690.171343] CPU    6: hi:  186, btch:  31 usd:  65

Oct  3 10:37:47 gserv klogd: [1042690.171345] CPU    7: hi:  186, btch:  31 usd: 177

Oct  3 10:37:47 gserv klogd: [1042690.171349] active_anon:111591 inactive_anon:22499 isolated_anon:0

Oct  3 10:37:47 gserv klogd: [1042690.171350]  active_file:244650 inactive_file:2037123 isolated_file:0

Oct  3 10:37:47 gserv klogd: [1042690.171350]  unevictable:0 dirty:99985 writeback:300267 unstable:0

Oct  3 10:37:47 gserv klogd: [1042690.171351]  free:731311 slab_reclaimable:66653 slab_unreclaimable:19563

Oct  3 10:37:47 gserv klogd: [1042690.171352]  mapped:844121 shmem:150 pagetables:4543 bounce:0

Oct  3 10:37:47 gserv klogd: [1042690.171354] Node 0 DMA free:15904kB min:12kB low:12kB high:16kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15648kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes

Oct  3 10:37:47 gserv klogd: [1042690.171363] lowmem_reserve[]: 0 1962 16074 16074

Oct  3 10:37:47 gserv klogd: [1042690.171366] Node 0 DMA32 free:261656kB min:1980kB low:2472kB high:2968kB active_anon:19320kB inactive_anon:6132kB active_file:15456kB inactive_file:1526944kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:2009716kB mlocked:0kB dirty:0kB writeback:71700kB mapped:13564kB shmem:8kB slab_reclaimable:111416kB slab_unreclaimable:46096kB kernel_stack:640kB pagetables:72kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no

Oct  3 10:37:47 gserv klogd: [1042690.171374] lowmem_reserve[]: 0 0 14112 14112

Oct  3 10:37:47 gserv klogd: [1042690.171377] Node 0 Normal free:2647684kB min:14240kB low:17800kB high:21360kB active_anon:427044kB inactive_anon:83864kB active_file:963144kB inactive_file:6621548kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:14450688kB mlocked:0kB dirty:399940kB writeback:1129368kB mapped:3362920kB shmem:592kB slab_reclaimable:155196kB slab_unreclaimable:32156kB kernel_stack:1832kB pagetables:18100kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no

Oct  3 10:37:47 gserv klogd: [1042690.171385] lowmem_reserve[]: 0 0 0 0

Oct  3 10:37:47 gserv klogd: [1042690.171388] Node 0 DMA: 0*4kB 0*8kB 0*16kB 1*32kB 2*64kB 1*128kB 1*256kB 0*512kB 1*1024kB 1*2048kB 3*4096kB = 15904kB

Oct  3 10:37:47 gserv klogd: [1042690.171395] Node 0 DMA32: 49038*4kB 6342*8kB 811*16kB 44*32kB 5*64kB 2*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 261848kB

Oct  3 10:37:47 gserv klogd: [1042690.171402] Node 0 Normal: 250650*4kB 205499*8kB 0*16kB 0*32kB 1*64kB 1*128kB 0*256kB 0*512kB 1*1024kB 0*2048kB 0*4096kB = 2647808kB

Oct  3 10:37:47 gserv klogd: [1042690.171409] 2281995 total pagecache pages

Oct  3 10:37:47 gserv klogd: [1042690.171410] 0 pages in swap cache

Oct  3 10:37:47 gserv klogd: [1042690.171412] Swap cache stats: add 165258, delete 165258, find 226979/240365

Oct  3 10:37:47 gserv klogd: [1042690.171413] Free swap  = 0kB

Oct  3 10:37:47 gserv klogd: [1042690.171414] Total swap = 0kB

Oct  3 10:37:47 gserv klogd: [1042690.210399] 4194288 pages RAM

Oct  3 10:37:47 gserv klogd: [1042690.210399] 925453 pages reserved

Oct  3 10:37:47 gserv klogd: [1042690.210399] 1568662 pages shared

Oct  3 10:37:47 gserv klogd: [1042690.210399] 1302143 pages non-shared
```

irgendwie habe ich den Eindruck, dass es eine Art Debug-Meldung ist. Ich durchforste mal den Kernel nach Debug-Einstellungen...

----------

