La réponse courte, pour un serveur, est d'acheter et d'installer plus de RAM.
Un serveur qui, de manière routinière, a suffisamment d'expérience OOM (Out-Of-Memory), alors, outre l'option sysctl overcommit du gestionnaire de VM (mémoire virtuelle) dans les noyaux Linux, ce n'est pas une bonne chose.
Augmenter la quantité de swap (mémoire virtuelle qui a été paginée sur le disque par le gestionnaire de mémoire du noyau) sera utile si les valeurs actuelles sont faibles, et si l'utilisation implique de nombreuses tâches nécessitant chacune de grandes quantités de mémoire, plutôt qu'un ou quelques processus demandant chacun une énorme quantité de la mémoire virtuelle totale disponible (RAM + swap).
Pour de nombreuses applications, l'allocation de plus de deux fois (2x) la quantité de RAM en tant que swap offre un rendement décroissant sur l'amélioration. Dans certaines grandes simulations de calcul, cela peut être acceptable si le ralentissement de la vitesse est supportable.
La RAM (ECC ou non) étant tout à fait abordable pour des quantités modestes, par exemple 4-16 GB, je dois admettre que je n'ai pas rencontré ce problème moi-même depuis longtemps.
Les bases pour examiner la consommation de mémoire, y compris l'utilisation de free
y top
triées par utilisation de la mémoire, comme les deux évaluations rapides les plus courantes des modèles d'utilisation de la mémoire. Assurez-vous donc de comprendre la signification de chaque champ dans la sortie de ces commandes.
En l'absence de précisions sur les applications (par exemple, base de données, serveur de services réseau, traitement vidéo en temps réel) et sur l'utilisation du serveur (quelques utilisateurs expérimentés, 100 à 1000 connexions d'utilisateurs/clients), je ne peux pas formuler de recommandations générales pour résoudre le problème de l'OOM.