Failcounts bei "cat /proc/user_beancounters"

neoasix

New Member
Hi..

Mal ne frage:

Wie bekomm ich das weg?
auf dem Server rennt nginx aber nur ne kurze Zeit dann bringt er in den logs
entweder" can not allocate mem" oder "No buffer space available"

hab schon rcvbuf und sndbuf eingestellt..
Er fungiert als Loadbalancer...

Code:
cat /proc/user_beancounters
            resource                     held              maxheld              barrier                limit              failcnt
            kmemsize                  4345638             96926908            536870912            590558003                    0
            lockedpages                     0                    0                  256                  256                    0
            privvmpages                 45926                90710              2097152              2097152                    0
            shmpages                      655                 1951                21504                21504                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        31                   99                 8192                 8192                    0
            physpages                   15756                58071                    0  9223372036854775807                    0
            vmguarpages                     0                    0               262144  9223372036854775807                    0
            oomguarpages                15756                58071               131072  9223372036854775807                    0
            numtcpsock                      7                16384                16384                16384                 5502
            numflock                        5                    7                  188                  206                    0
            numpty                          1                    1                   16                   16                    0
            numsiginfo                      0                   11                  512                  512                    0
            tcpsndbuf                  115456             34423808             33554432             67108864              1410764
            tcprcvbuf                   83200              4523776             33554432             67108864                    0
            othersockbuf                36864                69632              4194304              8388608                    0
            dgramrcvbuf                     0                 8448              1048576              1048576                    0
            numothersock                   24                   46                 1024                 1024                    0
            dcachesize                 305655             13614993             32000000             32000000                    0
            numfile                       980                16384                16384                16384             36429888
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                     193                  218                  512                  512                    0
 
Last edited by a moderator:
Das Bild ist doch eindeutig. Die Fehler deuten alle auf zu viele Netzwerkverbindungen bzw. die dafür notwendigen Puffer hin. Verhindern kannst du das also durch das Limitieren der gleichzeitig genutzten Verbindungen und das Verkleinern der (Sende-)Puffer (was ggfs. die Verbindungen länger offen hält).

Du hast jeweils 32MB für die Sende- und Empfangspuffer. Das geht schief, sobald
Code:
Anzahl Verbindungen * Größe eines Puffers > 32MB

Vorsichtigt geschätzt würde ich sagen, dass dein Server für die vorgesehene Nutzung nicht geeignet ist.
 
Ich würde noch etwas weiter gehen und die provokative Frage stellen:

Ist für die Implementierung eines Load-Balancers, der ein Vielfaches der Zugriffe der dahinter liegenden Server verarbeiten muss, ein virtueller Server wirklich die richtige Wahl?
 
habe jetzt mal folgende config:


Code:
cat /proc/user_beancounters
            resource                     held              maxheld              barrier                limit              failcnt
            kmemsize                 72963720             98359771            536870912            590558003                    0
            lockedpages                     0                    0                  256                  256                    0
            privvmpages                123520               155938              2097152              2097152                    0
            shmpages                      657                  672                21504                21504                    0
            dummy                           0                    0                    0                    0                    0
            numproc                        45                 1083                 8192                 8192                    0
            physpages                   82495                91670                    0  9223372036854775807                    0
            vmguarpages                     0                    0               262144  9223372036854775807                    0
            oomguarpages                82495                91670  9223372036854775807  9223372036854775807                    0
            numtcpsock                  15949                17770     1801439850948198     1801439850948198                    0
            numflock                        5                   13                  188                  206                    0
            numpty                          1                    1                   16                   16                    0
            numsiginfo                      0                    6                  512                  512                    0
            tcpsndbuf               278686464            308539392  4611686018427387903  9223372036854775807                    0
            tcprcvbuf               261254656            265506560  4611686018427387903  9223372036854775807                    0
            othersockbuf                56832                69888  4611686018427387903  9223372036854775807                    0
            dgramrcvbuf                     0                 8448  9223372036854775807  9223372036854775807                    0
            numothersock                   42                   46  9223372036854775807  9223372036854775807                    0
            dcachesize               13108725             14375256  9223372036854775807  9223372036854775807                    0
            numfile                     20954                36199              1049616              1049616                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            dummy                           0                    0                    0                    0                    0
            numiptent                      14                  218                  512                  512                    0
 
hatte versucht sysctl net.ipv4.netfilter.ip_conntrack_max einzustellen aber is ja nach nem reboot wieder weg..

das witzige ist:
nach

cat /proc/net/ip_conntrack

bzw

wc -l /proc/net/ip_conntrack (immer so um die 40000)

ohne änderung lief's

hat da jmd ne erklärung für?
 
Back
Top