fork: cannot allocate memory, obwohl genug da

phre5k

Registered User
Hallo Leute,

Hier einfach mal der Konsolenoutput.
Code:
root@NA:/etc/roundcube# service php-fastcgi start
/usr/bin/spawn-fcgi: fork: Cannot allocate memory
root@NA:/etc/roundcube# free -m
             total       used       free     shared    buffers     cached
Mem:           256          4        251          0          0          1
-/+ buffers/cache:          2        253
Swap:          256          4        251
root@NA:/etc/roundcube# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
root@NA:/etc/roundcube# cat /usr/bin/spawn-fcgi
#!/bin/bash
FASTCGI_USER=www-data
FASTCGI_GROUP=www-data
SOCKET=/var/run/php-fastcgi/php-fastcgi.socket
PIDFILE=/var/run/php-fastcgi/php-fastcgi.pid
CHILDREN=6
PHP5=/usr/bin/php5-cgi

/usr/bin/spawn-fcgi -s $SOCKET -P $PIDFILE -C $CHILDREN -u $FASTCGI_USER -g $FASTCGI_GROUP -f $PHP5
root@NA:/etc/roundcube# cat /etc/init.d/php-fastcgi 
#!/bin/bash

### BEGIN INIT INFO
# Provides:          php
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: PHP fastCGI start script
# Description:       Start script for the PHP server over the fastcgi interface via unix sockets
### END INIT INFO

PHP_SCRIPT=/usr/bin/php-fastcgi
FASTCGI_USER=www-data
FASTCGI_GROUP=www-data
PID_DIR=/var/run/php-fastcgi
PID_FILE=/var/run/php-fastcgi/php-fastcgi.pid
RET_VAL=0

case "$1" in
    start)
      if [[ ! -d $PID_DIR ]]
      then
        mkdir $PID_DIR
        chown $FASTCGI_USER:$FASTCGI_GROUP $PID_DIR
        chmod 0770 $PID_DIR
      fi
      if [[ -r $PID_FILE ]]
      then
        echo "php-fastcgi already running with PID `cat $PID_FILE`"
        RET_VAL=1
      else
        $PHP_SCRIPT
        RET_VAL=$?
      fi
  ;;
    stop)
      if [[ -r $PID_FILE ]]
      then
        kill `cat $PID_FILE`
        rm $PID_FILE
        RET_VAL=$?
      else
        echo "Could not find PID file $PID_FILE"
        RET_VAL=1
      fi
  ;;
    restart)
      if [[ -r $PID_FILE ]]
      then
        kill `cat $PID_FILE`
        rm $PID_FILE
        RET_VAL=$?
      else
        echo "Could not find PID file $PID_FILE"
      fi
      $PHP_SCRIPT
      RET_VAL=$?
  ;;
    status)
      if [[ -r $PID_FILE ]]
      then
        echo "php-fastcgi running with PID `cat $PID_FILE`"
        RET_VAL=$?
      else
        echo "Could not find PID file $PID_FILE, php-fastcgi does not appear to be running"
      fi
  ;;
    *)
      echo "Usage: php-fastcgi {start|stop|restart|status}"
      RET_VAL=1
  ;;
esac
exit $RET_VAL
Was läuft da schief?
 
Wie sieht denn die Config aus? Das Problem hatte ich auch 'mal mit php5-fpm, wo ich zu großzügig mit den Ressourcen war.
 
@smart-weblications.de: Ja, anscheinend schon, da ein vServer meistens den RAM in 8er Sprüngen zugewiesen bekommt, was ein dedizierter Server ja eigentlich auch bekommt. Allerdings frisst beim dedizierten Server schon allein alles andere außer das OS schon ein wenig etwas. Beim vServer (Hier, denke ich, OpenVZ oder Virtuozzo) läuft nur das OS selber. Bei einem vollvirtualisierten vServer ist es genauso wie beim dedizierten Server.
 
der ISP kann auf zwei Wegen RAM beschränken, einmal Virt (VSZ) und einmal Real (RSS), meist ist das Problem dass zwar das reell verbrauchte RAM ausreicht, aber zuwenig Virt zugeteilt wurde... Dann tritt das Problem auf...
 
Back
Top