Dcachesize voll -> apache und mysql laufen nicht parallel

dermicha

New Member
Hallo zusammen,

ich hab bei netfabrik den kleinensten vserver mit debian 3.1.
nach nem distriupgrade wurde clamav allerdings so speicherintensiv, dass ich andauernd ans limit kam. Also hab ich clamav kurzerhand runtergehauen, umkonfiguration von mailserver ging auch soweit alles gut.
Doch nun laufen plötzlich apache und mysql nicht gleichzeitig nebeneinander und zwar wegen des dcachesize nachfolgend ein Auszug meines proc/user_beancounters

Code:
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
   2067174: kmemsize                  2683775              3095717              5644968              6209464                    0
            lockedpages                     0                    0                  302                  302                    0
            privvmpages                 49562                52905                65536                73728                    0
            shmpages                      641                  657                16305                16305                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        31                   37                   96                   96                    0
            physpages                    9217                10446                    0  9223372036854775807                    0
            vmguarpages                     0                    0                32768  9223372036854775807                    0
            oomguarpages                 9218                10447                32768  9223372036854775807                    0
            numtcpsock                     15                   16                  152                  152                    0
            numflock                        5                    5                  168                  183                    0
            numpty                          1                    1                   12                   12                    0
            numsiginfo                      0                   16                  256                  256                    0
            tcpsndbuf                  140640               142984              1133248              2214592                    0
            tcprcvbuf                  131072               132392              1133248              2214592                    0
            othersockbuf                13256                26832               524572               922896                    0
            dgramrcvbuf                     0                 8488               524572               524572                    0
            numothersock                   12                   20                  198                  198                    0
            dcachesize                 687312               763236               751593               774141                  224
            numfile                      1126                 1345                 3008                 3008                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      10                   10                   32                   32

(frisch rebootet) der errorcount von dcachesize erhöht sich bei jedem startversuch von apache



jetzt hab ich mal nen bissel experimentiert, um zu sehen worans liegt:
mit mysql und apache stopped ist dcache size: 397602
mit mysql started: 661338 --> mysql brauch 263736
mit apache: 528471 --> apache braucht 130869

und da 397602 + 263736 + 130869 > als mein limit 774141 ist gibts natürlich probs

äußern tut sich das in so tollen sachen wie:

wenn mysql zuerst läuft und versucht wird apache zu starten:
Code:
PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/20020429/gd.so' - libX11.so.6: cannot open shared object file: No such file or directory in Unknown on line 0
 PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/20020429/imagick.so' - libWand.so.6: cannot open shared object file: Cannot allocate memory in Unknown on line 0
 PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/20020429/imap.so' - libc-client.so.2002edebian: cannot open shared object file: Cannot allocate memory in Unknown on line 0
PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/20020429/curl.so' - libcurl.so.3: cannot open shared object file: Cannot allocate memory in Unknown on line 0
 [Sun Mar 25 08:44:12 2007] [error] (12)Cannot allocate memory: Cannot create SSLMutex with file `/var/run/apache2/ssl_mutex.9861'
Configuration Failed

bzw. wenn apache zuerst läuft geht gar nichts mehr im system wenn ich mysql starte.

wenn ich jeweils nur einen der beiden starte funktionieren sie beide einwandfrei


so ich hoffe ich liege mit meiner analyse richtig, dass dieses dcachesize der grund dieser fehler ist.
eine beschreibung was die funktion macht habe ich hier gefunden (thx²irc): UBC auxiliary parameters - OpenVZ Wiki

allerdings bringt mich das nicht wirklich weiter. Kann mir jemand sagen, oder dabei helfen herauszufinden, warum das Ganze früher (bevor ich die Änderungen gemacht habe) ohne Probleme lief? Zumindest gab es keinerlei error beim dcache sondern immer nur bei privmemory. und daran war auch nur das scannen der mails schuld. D.h. apache und mysql liefen jetzt fast nen jahr ohne probleme nebeneinander.


nachfolgend noch eine auflistung meiner prozesse (es läuft apache, kein mysql, lieber nur nicht-datenbankbasierende websites als gar keine):
Code:
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  1504  508 ?        Ss   17:53   0:00 init [2]
root     15552  0.0  0.2  1560  536 ?        Ss   17:53   0:00 /sbin/syslogd
bind     17879  0.0  0.8 66308 2332 ?        Ss   17:53   0:00 /usr/sbin/named -u bind
root      7777  0.3  9.4 27112 24868 ?       SNs  17:53   0:00 /usr/sbin/spamd --create-prefs --max-children 1 --helper-home-dir -d --pidfile=/var/run/spamd.pid
Debian-  28511  0.0  0.4  8444 1288 ?        Ss   17:53   0:00 /usr/sbin/exim4 -bd -q30m
root     28661  0.0  0.1  1540  480 ?        Ss   17:53   0:00 /usr/sbin/inetd
root     15538  0.0  0.2 53056  764 ?        Ss   17:53   0:00 /usr/sbin/nscd
root     18313  0.0  0.3  6556  960 ?        Ss   17:53   0:00 /usr/sbin/saslauthd -n 1 -a pam
root     20314  0.0  0.3  3360  908 ?        Ss   17:54   0:00 /usr/sbin/sshd
root     22444  0.0  0.2  1576  584 ?        Ss   17:54   0:00 /usr/sbin/cron
root     32104  0.0  8.8 27112 23152 ?       SN   17:54   0:00 spamd child
root     15994  0.0  0.6 16484 1776 ?        Rs   17:54   0:00 sshd: root@pts/0
root     25641  0.0  0.5  2412 1364 pts/0    Ss   17:54   0:00 -bash
root     23661  9.0  3.7 25448 9716 ?        Ss   17:57   0:00 /usr/sbin/apache2 -k start -DSSL
root     24035  0.0  0.4  3044 1248 ?        S    17:57   0:00 /usr/bin/perl /usr/local/confixx/pipelog.pl
www-data  7849  0.0  2.1 25516 5684 ?        S    17:57   0:00 /usr/sbin/apache2 -k start -DSSL
root     15733  0.0  0.2  2308  724 pts/0    R+   17:57   0:00 ps aux


ich bedanke mich schon mal fürs durchlesen und hoffe mir kann hier jemand helfen :)

gruß
Micha
 
ja. habe genau das gleiche problem.
hab meine beschwerde darüber aber in diesem topic hier
hinterlassen:

apache und mysql gleichzeitig geht einfach nicht mehr, also seit wir
versucht haben clamav zu updaten.

diese situation setzt allerdings dem chronischen speichermangel bei netfabrik
die krone auf, so dass wir gerade am provider-wechseln sind.
 
apache und mysql gleichzeitig geht einfach nicht mehr, also seit wir
versucht haben clamav zu updaten.

diese situation setzt allerdings dem chronischen speichermangel bei netfabrik
die krone auf, so dass wir gerade am provider-wechseln sind.

ich will eigentlich schon bei netfabrik bleiben, find leistugn absolut gerechtfertigt.... und mem-probs hab ich im prinzip ja nicht ;)
wenn du clamav bei dir rausconfigurierst solltest du genug privmem haben... siehe bei mir.
als clamav bei mir fertig geupdated war liefen nämlich mysql und apache noch ohne probs nebeneinander... gab halt nur probleme bei mail-empfang, da dann die mem-auslastung zu hoch wurde.


und wie gesagt dieses dcachesize hatte ich noch nie, auch nicht als clamav noch lief....
 
ja. für den preis ist das angebot schon in ordnung, allerdings hatte
ich neben diesem dcachesize-problem jetzt schon häufiger probleme
mit mangelndem speicher. und das obwohl kein ungewöhnlichen
dienste laufen.
vor allem steht ja zur zeit eigentlich genug speicher zur verfügung
(laut "free" und "cat proc/user_beancounters").

clamav habe ich schon gestoppt, auch freshclam, das hat zwar etwas
speicher freigegeben, aber nichts am dcachesize-problem geändert.

und das mit dem provider-wechsel liegt auch eher daran, dass wir evtl.
mal java benutzen möchten ;)
 
hier noch mein uname:
2.6.9-023stab041.3-smp #1 SMP Wed Feb 14 13:13:03 MSK 2007 i686 GNU/Linux


und V40 hat mich auf das hingewiesen:

Copy & paste from the 33.9 kernel release notes:
Quote:
The following bugs from the previous releases have
been fixed in the new Virtuozzo 3.0 kernel:
...
- #72051: dcache leaks on the 2.6.9 series kernels.


.... ??
 
Hi,

@dermicha: Der Leak aeussert sich aber darin, dass die dcachesize failcnts extrem hoch sind. Ich schau mir das aber bei den NetFabrik Servern mal an und passe das ggf. an.
 
Hi,

ok ich hab fuer alle Kunden die dcachsize Werte mal angepasst, eure Speicherprobleme sollten damit weg sein.
 
Hi,

ok ich hab fuer alle Kunden die dcachsize Werte mal angepasst, eure Speicherprobleme sollten damit weg sein.



vielen dank mbroemme für das hochsetzen :)

funktioniert alles einwandfrei :)


wünsch dir einen schönen sonnigen montag ;)


gruß
micha


//edit ich hab nen failcnt, obwohl ich nichtmal in die nähe des barrier gekommen bin, das hieße doch, dass die physikalischen resourcen nicht ausreichen? nicht das du das limit jetzt zu hoch eignestellt hast, hier mein resorucenauszug:

Code:
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
   2067174: kmemsize                  3260960              3869550              5644968              6209464                    0
            lockedpages                     0                    0                  302                  302                    0
            privvmpages                 58044                59127                65536                73728                    0
            shmpages                      655                  671                16305                16305                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        33                   43                   96                   96                    0
            physpages                   17122                17630                    0  9223372036854775807                    0
            vmguarpages                     0                    0                32768  9223372036854775807                    0
            oomguarpages                17123                17631                32768  9223372036854775807                    0
            numtcpsock                     16                   26                  152                  152                    0
            numflock                        3                   10                  168                  183                    0
            numpty                          1                    1                   12                   12                    0
            numsiginfo                      0                   16                  256                  256                    0
            tcpsndbuf                  140640               297472              1133248              2214592                    0
            tcprcvbuf                  135464               247240              1133248              2214592                    0
            othersockbuf                13256                46320               524572               922896                    0
            dgramrcvbuf                     0                19800               524572               524572                    0
            numothersock                   11                   29                  198                  198                    0
            dcachesize                 820179               870129              1503190              1548286                  225
            numfile                      1289                 1515                 3008                 3008                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      10                   10                   32                   32
(natürlich grad frisch rebootet, damit zähler auch wieder auf null zurück geht...)
 
Last edited by a moderator:
Hi,

failcnts werden nicht resettet. So warum nicht? Ganz einfach Erklaerung am Kunden:

1.) Kunde macht Ticket auf, beschwert sich ueber failcnts.
2.) Kunde macht Reboot
3.) Supporter sieht Ticket antwortet drauf mit: Sie haben garkeine failcnts (wurden ja durch Kundenreboot resettet)

-> Fehlerursache und -loesung sind unmoeglich geworden.

Aus diesem Grund werden die failcnts NUR bei einem Hostsystemreboot resettet, Virtuozzo Admins ist es sonst unmoeglich Applikationen zu finden, welche die VEs an Ihre Limits bringen. Solange jetzt dein maxheld unter limit/barrier bleibt (was er anhand deiner Werte auch tut) solange ist auch alles ok.

Weiterhin sind failcnts (wie der Name schon sagt ein Counter) Der wird nachdem Hostsystemreboot geflusht und dann zaehlt er jeden einzelnen failcnt, dass macht es naemlich ziemlich uebersichtlich, bei Hostsystemen mit sehr hoher Uptime, die Kunden zu finden die permanent Probleme verursachen.
 
sorry, wenn ich dir da widerspreche, vielleicht reden wir auch aneinander vorbei.
ich rede von der ausgabe die bei cat /proc/user_beancounters kommt. und da wird bei mir definitiv der failcount resetet bei reboot!
habs auch grad nochmal ausprobiert:
vorm reboot:
Code:
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
   2067174: kmemsize                  3264348              3891006              5644968              6209464                    0
            lockedpages                     0                    0                  302                  302                    0
            privvmpages                 57774                61240                65536                73728                    0
            shmpages                      655                  671                16305                16305                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        33                   43                   96                   96                    0
            physpages                   16859                20552                    0  9223372036854775807                    0
            vmguarpages                     0                    0                32768  9223372036854775807                    0
            oomguarpages                16860                20553                32768  9223372036854775807                    0
            numtcpsock                     16                   26                  152                  152                    0
            numflock                        3                   10                  168                  183                    0
            numpty                          1                    1                   12                   12                    0
            numsiginfo                      0                   16                  256                  256                    0
            tcpsndbuf                  140640               302376              1133248              2214592                    0
            tcprcvbuf                  135464               247240              1133248              2214592                    0
            othersockbuf                12744                46320               524572               922896                    0
            dgramrcvbuf                     0                27720               524572               524572                    0
            numothersock                   11                   37                  198                  198                    0
            dcachesize                 814185               878121              1503190              1548286                  225
            numfile                      1317                 1588                 3008                 3008                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      10                   10                   32                   32

nach reboot:
Code:
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
   2067174: kmemsize                  3084931              3146008              5644968              6209464                    0
            lockedpages                     0                    0                  302                  302                    0
            privvmpages                 52215                54797                65536                73728                    0
            shmpages                      655                  671                16305                16305                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        32                   36                   96                   96                    0
            physpages                   10963                10963                    0  9223372036854775807                    0
            vmguarpages                     0                    0                32768  9223372036854775807                    0
            oomguarpages                10964                10964                32768  9223372036854775807                    0
            numtcpsock                     16                   16                  152                  152                    0
            numflock                        3                    5                  168                  183                    0
            numpty                          1                    1                   12                   12                    0
            numsiginfo                      0                    2                  256                  256                    0
            tcpsndbuf                  147672               152360              1133248              2214592                    0
            tcprcvbuf                  135464               136056              1133248              2214592                    0
            othersockbuf                13256                21744               524572               922896                    0
            dgramrcvbuf                     0                 8488               524572               524572                    0
            numothersock                   11                   17                  198                  198                    0
            dcachesize                 818181               824175              1503190              1548286                    0
            numfile                      1289                 1345                 3008                 3008                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      10                   10                   32                   32


.... nunja ich lasse mich gerne besser belehren aber so wies aussieht ist mein failcount zurückgesetzt worden ;)


mfg
dermicha
 
Back
Top