• [^] # Re: Suite

    Posté par . En réponse au message Erreur "Cannot allocate memory" généralisée. Évalué à 1.

    Effectivement, mais comme dit je vérifiais la consommation de mémoire via htop, vmstat, dstat au moment même où ça plantait. La valeur "used" ne bougeait pas ou très peu. Si ça avait été ça le problème, ça aurait été simple :)
    De plus, on atteint sans problème 3000 process Apache avec cette configuration, la plupart consomment quasiment rien en mémoire (et notre script php le plus appelé travaille sur peu de données, de l'ordre de quelques Ko).

    Mais grâce à l'explication de neologix plus bas, j'ai cherché les effets sur Apache du passage de la variable vm.overcommit_memory à 2. Et d'après un post sur serverfault.com, ça ne fait pas bon ménage.
    Bon j'ai pas pu tester en revenant sur un KeepAliveTimeout à 15, mais rien que là en observant le fichier /proc/meminfo j'ai vu que la valeur de Committed_AS a tendance à dépasser CommitLimit.
    Si j'ai bien compris ce que j'ai lu, en passant overcommit_memory à 2 ça serait impossible, ce qui expliquerait les problèmes d'allocation mémoire commun à Postgresql, Apache, PHP et exim. Ça me parait le plus probable.

    En tout cas cette histoire m'apprendra à faire de la pré-optimisation...