web-dev-qa-db-fra.com

Impossible d'allouer de la mémoire: fork: impossible de créer un nouveau processus?

Nous avons notre hébergement dans aws. Récemment, après avoir déplacé notre blog de wordpress à aws, nous constatons un retard notable du temps de réponse du serveur. Principalement en accédant au blog. Ci-dessous sont les journaux du fichier error_log,

[Wed Feb 25 06:10:10 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:12:22 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:12:36 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:12:50 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:13:35 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Feb 25 06:27:14 2015] [error] (12)Cannot allocate memory: fork: Unable to fork new process

Nous avons augmenté la taille de la mémoire de 256 à 512 Mo dans le fichier php.ini. Mais, le problème existe toujours.

Nous avons également changé le KeepAlive en tant que On. Cela ne résout toujours pas. Toute suggestion/solution serait d'une grande aide.

10
Muruga

J'ai fait face à ce problème soit en hébergeant une application Java avec jenkins, mysql & Tomcat sur Ubuntu sur un vm d'AWS.

Premiers pas j’ai utilisé pour résoudre le problème du redémarrage d’une machine virtuelle.

AWS ne donne pas la mémoire de permutation sur un disque dur par défaut, vous feriez donc mieux de le créer avec vos mains. Comment faire cela, vous pouvez trouver ici . Il faut mentionner que: la solution avec zone d'échange (je ne sais pas pourquoi) n'a pas fonctionné pour moi, j'ai dû créer un fichier d'échange.

Bonne chance à toi!

8
barbarian

J'ai eu le même problème pour le résoudre, il y a 2 options: 

1- Passer des micro-instances aux petites et c’est le changement qui a résolu le problème (les micro-instances sur Amazon ont tendance à avoir une durée de vol importante du processeur)

2- Ajustez la configuration du serveur de base de données MySQL et ma configuration Apache pour utiliser beaucoup moins de mémoire.

guide de réglage pour une situation de mémoire faible telle que celle-ci: http://www.narga.net/optimizing-apachephpmysql-low-memory-server/ (Mais n'utilisez pas la suggestion des tableaux MyISAM - horrible...)

ces 2 options feront que le problème ne se produira pas beaucoup… j’ai toujours une meilleure solution pour clore le processus en cours et éliminer ceux qui s’accrochent. 

3
J.Tural

Le MPM prefork d'Apache a été remplacé par le fichier httpd.conf Voici les valeurs que j'ai finalement utilisées:

StartServers 1

MinSpareServers 1 

MaxSpareServers 5 

ServerLimit 16

MaxClients 16

MaxRequestsPerChild 0

ListenBacklog 100

Ensuite, essayez de désactiver certains modules php avec Sudo a2dismod name_of_module

0
Patrikoko