1 votes

L'utilisation de la mémoire des serveurs Ubuntu ne correspond pas à la réalité

J'ai un petit serveur VPS que j'utilise à la fois comme micro-hébergeur, comme hébergeur de développement et comme plateforme lorsque je veux faire quelque chose ailleurs que sur mon ordinateur portable. Il est quelque peu sous-spécifique avec seulement 128M de ram disponible (256 burst), mais il fonctionne.

Pour faire face à ce problème, j'ai réduit un certain nombre de paramètres, etc. Cependant, il finit toujours par atteindre mon plafond lorsque j'essaie de faire des choses.

J'ai fait un tas de recherches à ce sujet, mais je n'ai rien trouvé d'autre que des personnes qui ont confondu les tampons et le cache avec l'utilisation réelle de la mémoire du processus.

J'ai toujours l'impression que quelque chose ne colle pas, alors j'ai fini par essayer

sh-3.2$ free
             total       used       free     shared    buffers     cached
Mem:        131072     131072          0          0          0          0
-/+ buffers/cache:     131072          0
Swap:            0          0          0
sh-3.2$ ps aux | awk '{sum += $4} END {print sum}'
67.4
sh-3.2$

Ainsi, alors que tous mes processus totalisent 2/3 de mon total, je suis toujours entièrement à court de RAM. htop est d'accord avec les deux (la barre en haut indique 128M/128M ; les chiffres sont d'accord).

Est-il possible que free ne garde pas une trace correcte ou quelque chose dû au VPS ? Ou y a-t-il vraiment quelque chose de mystérieux qui utilise 30% de ma mémoire vive disponible ?

1voto

mrTomahawk Points 151

Quelle quantité de mémoire votre noyau utilise-t-il ?

grep Memory /var/log/syslog et regardez le champ réservé.

1voto

BillThor Points 27096

Vous additionnez l'ensemble des résidents pour les processus. Cela exclut tout espace virtuel non résident mais alloué. (Il ne peut pas être alloué à partir du swap car vous n'en avez pas). Comme indiqué ci-dessus, votre calcul exclut également le noyau et ses structures de données.

Le code partagé et l'espace de pile non utilisé entrent également en ligne de compte dans la taille virtuelle. Lorsque vous mappez une bibliothèque, vous ne pouvez mettre en page qu'une petite partie de la bibliothèque (ensemble résident), mais vous devez allouer de l'espace pour l'ensemble de la bibliothèque (ensemble virtuel). Seul l'espace en lecture seule d'une bibliothèque partagée est compté deux fois.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X