Cannot allocate memory

#1
Ich habe einen Virtuellen Server nach Der Perfekt Server - Debian Squeeze (Debian 6.0) mit BIND und Courier [ISPConfig 3] eingerichtet.

nun habe ich etliche Problem und weis nicht was das Ursächliche ist:mad:

das folgende ca 210 mal pro sekunde bis ich den Prozess gekillt habe
nach neustart kam das bisher nicht mehr
Code:
...
amavis[4018]: (!)Net::Server: 2012/04/13-17:10:39 Couldn't get lock on file "/var/run/amavis/amavisd.lock" [Cannot allocate memory]\n  at line 253 in file /usr/share/perl5/Net/Server/PreForkSimple.pm
 amavis[4019]: (!)Net::Server: 2012/04/13-17:10:39 Couldn't get lock on file "/var/run/amavis/amavisd.lock" [Cannot allocate memory]\n  at line 253 in file /usr/share/perl5/Net/Server/PreForkSimple.pm
amavis[4023]: (!)Net::Server: 2012/04/13-17:10:39 Couldn't get lock on file "/var/run/amavis/amavisd.lock" [Cannot allocate memory]\n  at line 253 in file /usr/share/perl5/Net/Server/PreForkSimple.pm
amavis[4022]: (!)Net::Server: 2012/04/13-17:10:39 Couldn't get lock on file "/var/run/amavis/amavisd.lock" [Cannot allocate memory]\n  at line 253 in file /usr/share/perl5/Net/Server/PreForkSimple.pm
amavis[4024]: (!)Net::Server: 2012/04/13-17:10:39 Couldn't get lock on file "/var/run/amavis/amavisd.lock" [Cannot allocate memory]\n  at line 253 in file /usr/share/perl5/Net/Server/PreForkSimple.pm
 amavis[4025]: (!)Net::Server: 2012/04/13-17:10:39 Couldn't get lock on file "/var/run/amavis/amavisd.lock" [Cannot allocate memory]\n  at line 253 in file /usr/share/perl5/Net/Server/PreForkSimple.pm
Code:
postfix/smtpd[5704]: fatal: shared-lock database /etc/aliases.db for open: Cannot allocate memory
....
postfix/smtpd[12614]: fatal: shared-lock database /etc/aliases.db for open: Cannot allocate memory
postfix/master[16024]: warning: process /usr/lib/postfix/smtpd pid 12614 exit status 1
postfix/master[16024]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
/USR/SBIN/CRON[14653]: (root) CMD (/usr/local/ispconfig/server/server.sh > /dev/null 2>> /var/log/ispconfig/cron.log)
fatal: select lock: Cannot allocate memory
postfix/master[16024]: warning: process /usr/lib/postfix/showq pid 18351 exit status 1
postfix/master[16024]: warning: /usr/lib/postfix/showq: bad command startup -- throttling
postfix/smtpd[18367]: fatal: shared-lock database /etc/aliases.db for open: Cannot allocate memory
postfix/master[16024]: warning: process /usr/lib/postfix/smtpd pid 18367 exit status 1
postfix/master[16024]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
[/CODE]
Speiche sollte ausreichen
Mem: 786432k total, 507568k used, 278864k free, 0k buffers
Swap: 3145728k total, 0k used, 3145728k free, 108804k cached


Liebe Grüße Carmen
 

nowayback

Well-Known Member
#2
Moinsen,

das es bei dir knapp ist mitm Ram siehst du ja warscheinlich selbst, aber dein Problem sieht eher nach einer vollen Festplatte aus.

Was sagt denn
Code:
df -h
Grüße
nwb
 
#3
Das kann es nicht sein es ist nur das System drauf und eine Seite
aber die trotzdem die Antwort

Filesystem Size Used Avail Use% Mounted on
/dev/hdv1 60G 2.7G 54G 5% /
tmpfs 2.0M 0 2.0M 0% /dev/shm


Liebe Grüße Carmen
 
#8
die Postfix allocate memories sind weg nachdem ich das von etron770 ausprobiert habe (Numothersocks – socket: cannot allocate memory | Der Blog von Florian Fritsch)

gerade renn amavis wieder mit den 20 Fehlern cannot allocate memory
uptime
08:46:32 up 1:36, 0 users, load average: 1.99, 2.02, 1.66

und jo sagt ja auch das noch mem frei ist
top - 08:50:57 up 1:40, 0 users, load average: 1.99, 1.97, 1.73
Tasks: 73 total, 3 running, 70 sleeping, 0 stopped, 0 zombie
Cpu(s): 32.8%us, 16.3%sy, 8.2%ni, 41.6%id, 0.5%wa, 0.0%hi, 0.6%si, 0.0%st
Mem: 786432k total, 597280k used, 189152k free, 0k buffers
Swap: 3145728k total, 0k used, 3145728k free, 169924k cached

manchmal sind dann 3 oder mehr prozesse von amavis offen

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
27211 amavis 20 0 203m 87m 3328 S 9 11.3 2:44.50 amavisd-new
22453 amavis 20 0 0 0 0 R 1 0.0 0:00.03 amavisd-new
22454 amavis 20 0 203m 85m 2164 R 1 11.2 0:00.03 amavisd-new

von amavis kommt auch die 32% CPU Auslastung

cat /proc/user_beancounters

das ist nicht vorhanden


Liebe Grüße Carmen
 

Till

Administrator
#9
Dein Server hat sehr wenig RAM, daher wirst Du das setup ein wenig zurechtstutzen müssen, damit es ohne Fehler läuft.

Das Reduzieren der Dovecot Prozesse war schon ein guter Anfang, dann solltest Du noch die max. Anzahl der amavis Prozesse reduzieren. In der postfix main.cf einfügen:

amavis_destination_concurrency_limit = 1

und dann postfix neu starten. Dann spamd deaktivieren, da er nicht benötigt wird.

/etc/init.d/spamassassin stop
update-rc.d -f spamassassin remove
 
#10
Code:
diese Fehlermeldung erhalten Sie, da Ihr VServer die Maximale-Anzahl von LOCKS erreicht: 
 
 *** linux-vs:~# cat /proc/virtual/1181/limit | grep LOCKS 
LOCKS:        -5               0/    1000           1000/    1000        69300 *** 
 Wir haben diese Limitierung für Ihren vServer auf 100.000 LOCKS erhöht und Ihren vServer einmal neugestartet, damit die neue Limitierung greift.
Also Speicher war es nicht.
Nun stellt sich die Frage was hat 1000 locks verursacht oder ist das normal

Liebe Grüße Carmen
 
Zuletzt bearbeitet:

Till

Administrator
#11
Die Locks wurden wahrscheinlich dadurch verursacht dass in dem Moment kein Speicher mehr verfügbar war, die Fehlermeldung "Cannot allocate memory" ist da eindeutig: Der Prozess hat Speicher angefordert aber es war keiner mehr verfügbar bzw. der Host der VM hat keinen bereitgestellt und deshalb schlug der Prozess Fehl. Auf die Angaben zum freien Speicher in einer VM kann man nicht allzu viel geben, es kann durchaus sein dass Dein Hoster den Server "überbucht" hat, dass also die Summe des Speichers der allen VM zur Verfügung gestellt wurde kleiner als der verfügbare RAM ist, in solchen Situationen cann es zu Memory allocation errors auf dem host kommen selbst wenn in der VM scheinbar noch speicher da ist.

Wenn der Server jetzt läuft und sich Dein Hoster hoffentlich des Problems angenommen hat, dann sollte alls io sein.
 
#12
Nachdem die Fehler immer noch aufgetreten sind hat der Hoster die Grenze nochmlas angehben und auf 1Mio gesetzt. Nun läuft der Server seit mehreren Stunden ohne Fehlermeldung

Kann ich mir anzeigen lassen welcher Prozess die Locks anfragt?

Hauptspeicher ist nicht verändert worden ...


Liebe Grüße Carmen
 

nowayback

Well-Known Member
#13
Moinsen,

ne kannste nicht wirklich... du kannst nur abschätzen welcher Prozess wieviel RAM braucht und dann sehen dass du soviel wie möglich sparst... btw. der Sinn - außer zum Test - von deinem Setup erschließt sich mir noch nicht ganz...

Wenn du nur dein privates Zeug verwalten willst, brauchste ISPC nicht, wenn nicht, sind deine HW Specs zu gering ;)

Hoffe du nimmst mir das nicht übel


Grüße
nwb
 
#14
Na da laufen ein paar Seiten drauf und das Mailsystem,
das ganze ist schneller als zu der Zeit als es beim Provider als Webspace lag.

Nach Auskunft des Hosters, der den Fehler untersucht hat liegt es definitiv nicht an zu wengi Speicher, den könnte ich für 2 Euro mehr auf 1 Gb und für 5 Euro mehr im Monat auf 2Gb erweitern. Aber er sagt das das definitiv derzeit nicht nötig is, ich das aber gerne aktivieren kann. Sprich der Anbieter der daran Geld verdient, sagt es sein nicht nötig. Es hat ja auch geholfen die zulässigen Locks zu erhöhen. Wie wirkt sich das denn auf die Anforderung von Speicher aus?
Denn mehr Speicher habe ich ja nicht und der Vserver läuft ohne Fehler.
Irgendwie ist Deine Ansicht darüber entgegengesetzt zu der des Hosters ...

Wenn du nur dein privates Zeug verwalten willst, brauchste ISPC nicht, wenn nicht, sind deine HW Specs zu gering ;)
Meine Kinder werden so langsam älter und ich bin es leid immer an der Konsole zu sitzen um die Sonderwünsche bei E-mails Cronjobs und Urls zu erfüllen ;)

Liebe Grüße Carmen
 

Werbung