De temps en temps, "mon" serveur se bloque car il manque de mémoire et d'espace de swap. (il continue de répondre au ping mais rien de plus, pas même ssh).
On me dit que Linux fait un sur-engagement de mémoire, ce qui, autant que je sache, est le même que celui des banques avec de l'argent: il accorde aux processus plus de mémoire que ce qui est réellement disponible, en supposant que la plupart des processus n'utilisent pas réellement toute la mémoire qu'ils demandent, à du moins pas tous en même temps.
Veuillez supposer que c'est en fait la raison pour laquelle mon système se bloque parfois, ne discutons pas ici si c'est le cas (voir Qu'est - ce qui peut provoquer la panne de TOUS les services sur un serveur, tout en répondant au ping? Et comment le comprendre ) .
Donc,
Comment puis-je désactiver ou réduire considérablement le sur-engagement de mémoire dans CentOS? J'ai lu qu'il y a deux paramètres appelés vm.overcommit_memory (valeurs 0, 1 ou 2) et vm.overcommit_ratiom mais je n'ai aucune idée où je dois les trouver et les modifier (certains fichiers de configuration, espérons-le), quelles valeurs dois-je essayer et si je dois redémarrer le serveur pour que les modifications soient effectives.
et est-ce sûr? À quels effets secondaires puis-je m'attendre? En cherchant sur overcommit_memory, je trouve des choses effrayantes comme des gens qui disent que leur serveur ne peut plus démarrer ....
Étant donné que ce qui provoque l'augmentation soudaine de l'utilisation de la mémoire est mysql en raison des requêtes effectuées par php qui à son tour est appelé lors du traitement des requêtes http, je m'attendrais à ce que certains scripts php ne se terminent pas et donc quelque 500 réponses de temps en temps lorsque le serveur est trop occupé, ce qui est un risque que je peux prendre (certainement mieux que tout le serveur devienne inaccessible et doive le redémarrer).
Ou peut-il vraiment empêcher mon serveur de redémarrer si je choisis les mauvais paramètres?