Server am Limit, nichts geht mehr

tiggle

New Member
Hallo miteinander,

versuche nun seit unzähligen Stunden meinen Server wieder stabil zu bekommen. Es gab in den letzten Wochen jedoch keine Änderung am System. Webseiten geben in unregelmäßigen Abständen nur noch "too many open files" sowie "Internal Server Error" aus. CPU läuft auf 100% abwechselnd ausgelöst durch folgende Programme:

/usr/sbin/mysqld --basedir=/usr --datadir/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
/usr/bin/php-cgi
/usr/sbin/apache2 -k start

Hier kurze Info über das System:
Server version: Apache/2.2.9 (Debian) Server built: Sep 4 2011 20:17:52
mysql Ver 14.14 Distrib 5.1.58, for debian-linux-gnu (i486) using readline 5.2
Debian Linux 2.6.18-028stab094.3 #1 SMP Thu Sep 22 12:47:37 MSD 2011 i686 GNU/Linux

Wie Fehler vermuten lässt, scheint dies an zu vielen geöffneten Dateien zu liegen. Ausgabe von lsof -n|grep -oE '^[a-z]+'|sort|uniq -c|sort -n gibt mir folgendes aus... ist aber nicht ungewöhnlich hoch oder?

7 klogd
8 logger
9 init
11 grep
11 procmail
11 uniq
12 sh
13 inetd
14 portmap
15 bash
17 xinetd
18 wget
19 lsof
23 sort
23 su
23 syslogd
25 nscd
28 pickup
29 anvil
29 qmgr
33 cleanup
35 tlsmgr
36 cron
39 proftpd
65 local
67 smtpd
72 imap
72 pop
90 dovecot
102 sshd
122 master
175 saslauthd
318 php
1018 mysqld
1455 apache

Auch in den Logs ist nichts auffälliges zu finden, außer:
Oct 08, 2011 10:50:34 AM Resource Resource privvmpages yellow alert on environment v1846 current value: 147568 soft limit: 163840 hard limit: 165840 Yellow zone
Oct 08, 2011 10:47:34 AM Resource Resource numfile red alert on environment v1846 current value: 7142 soft limit: hard limit: 7500 Red zone

Hat jemand eine Idee?

Wünsche einen guten Start ins Wochenende und freue mich über jeden Tipp :)
 
Möglicherweise hat dein Anbieter die Parameter für die Virtualsisierungsssoftware etwas enger gemacht. Kommt vor.

Was zeigt denn ein
cat /proc/user_beancounters
in den letzten Spalten (das sind fails) an?
 
Last edited by a moderator:
Keine Ahnung, ob es wirklich am limit von open files liegt, aber das ist vll. schon mal ein ansatz...

habe mal file-max erhöht, jedoch machen mich die ersten beiden Zahlen stutzig.

v1846:/home# cat /proc/sys/fs/file-nr
510 0 262144


Weiterhin habe ich /etc/security/limits.conf nofile erhöht:
* soft nofile 65535
* hard nofile 65535
mysql soft nofile 65535
www-data soft nofile 65535
www-data hard nofile 65535
mysql hard nofile 65535
root soft nofile 65535
root hard nofile 65535


Aber dies scheint nach einem Reboot keinen Erfolg zu zeigen. Zum einen liegt ulimit -n bei root immer noch auf 1024 zum anderen habe ich keine Info ob mysql/apache diese Einstellung mitbekommt. Wo kann man dies herausfinden?
 
Bei OpenVZ- oder Virtuozzo-basierten Virtualisierungslösungen schaust du dir deine Limits in der Datei /proc/user_beancounters an. Du kannst diese nicht selbst verändern.
 
Code:
v1846:/home# cat /proc/user_beancounters 
Version: 2.5                                                                                                                                 
       uid  resource                     held              maxheld              barrier                limit              failcnt            
     6135:  kmemsize                  8745875              9284896             33020096             35020096                    0            
            lockedpages                     0                    0                  512                  512                    0            
            privvmpages                110214               115384               163840               165840                    0
            shmpages                        9                    9                29350                29350                    0            
            dummy                           0                    0  9223372036854775807  9223372036854775807                    0            
            numproc                        70                   74                  224                  224                    0            
            physpages                   19030                24047                    0           2147483647                    0
            vmguarpages                     0                    0                81920           2147483647                    0
            oomguarpages                19030                24047  9223372036854775807           2147483647                    0
            numtcpsock                     17                   17                  640                  640                 4968
            numflock                       12                   13                  298                  298                    0
            numpty                          1                    1                   24                   24                    0
            numsiginfo                      0                    1                  256                  256                    0
            tcpsndbuf                  317400               372240              8304720              8304720                    0
            tcprcvbuf                  278528               278528              8304720              8304720                    0
            othersockbuf               244440               405592              3156363              3460863                    0
            dgramrcvbuf                     0                22816               198144               198144                    0
            numothersock                  140                  151                  640                  640                    0
            dcachesize                2017911              2153127              5273280              5416640                    0
            numfile                      3396                 3588                 7500                 7500            116225414
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      14                   14                   96                   96                    0

schaut das gut aus?
 
:) nein sicherlich nicht lol
Und was kann ich nun dagegen tun? Limit von 7500 ist derzeit gesetzt.
Habe bei /etc/security/limits.conf ja 65335 eingetragen, aber das scheint nicht zu fruchten.


@OldSchwede: also killall -HUP php-cgi hat wenig Erfolg gezeigt.
 
Ist denn ein Limit von 7500 niedrig? Bisher kamen wir damit sehr gut zurecht. Nun ist jedoch direkt nach einem Neustart das System ausgeknockt. Oder kann es sein, dass der Anbieter uns irgendwie einfach so gedrosselt hat?

Werde auf jeden Fall mal eine Mail an den Support diesbezüglich schicken.

Danke und noch einen schönen Tag :)
 
Viel viel Fail bei numfile, was wie number of (open) files klingt...passt zu dem von dir beschriebenen Problem.
Dein Hoster scheint an Platten zu sparen und will die I/O-Last begrenzen.
Ausweg: Hoster wechseln, evtl. zu nem größeren (v)Server wechseln.
 
Back
Top