2014年5月3日

PHP 在 Ubuntu 的過量 fuser 造成 cannot fork: Cannot allocate memory

最近使用 Ubuntu 11.10的時候常常在 bash 出現
cannot fork: Cannot allocate memory

看ps又發現兩萬多個 fuser 佔領了主機
查了一下發現有許多人有相同的問題,而且似乎只會在這個Ubuntu版本才會發生

這個問題的原因是php清理無用session的時候發生了些什麼,結果fuser就停在那邊佔著解法是將清理的指令改掉

/etc/cron.d/php5改成
09,39 * * * *     root   [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete

很棒的,最近都沒再出現 cannot fork 了