Utilisation mémoire ?

Salut a tous,

Je me pose une question concernant l’utilisation mémoire de mon dédié sous debian.

L’affichage général des kilos utilisé pourrait être buggé ? Voici mon “top”

L’utilisation générale ne corespond pas au détails … bug ou la ram est vraiment utilisé et je ne sais pas par quoi ?

[code]top - 13:17:17 up 1 day, 7:58, 3 users, load average: 0.09, 0.09, 0.02
Tasks: 127 total, 1 running, 126 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.6%us, 0.6%sy, 0.0%ni, 95.6%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 16428152k total, 15816492k used, 611660k free, 746972k buffers
Swap: 1001464k total, 1664k used, 999800k free, 10543280k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17412 ***** 20 0 6907m 1.3g 14m S 11 8.3 55:29.00 java
2515 ***** 20 0 327m 152m 23m S 2 1.0 55:52.30 srcds_linux
20930 ***** 20 0 6678m 438m 12m S 2 2.7 0:08.96 java
1 ***** 20 0 10596 768 704 S 0 0.0 0:01.16 init
2 ***** 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
3 ***** RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
4 ***** 20 0 0 0 0 S 0 0.0 0:02.64 ksoftirqd/0
5 ***** RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/0
6 ***** RT 0 0 0 0 S 0 0.0 0:00.00 migration/1

[/code]

Merci pour votre aide !
LeRelOo

Bonjour,

Rien d’anormal, 746972k buffers et 10543280k cached c’est de la mémoire utilisé par le système (pour être plus réactif) mais qui peut être alloué aux applications si elles ont besoin de mémoire. Donc, à la louche, tu n’utilises réellement que 6Go sur les 16 disponibles. Tu peux utiliser la commande free qui affichera la mémoire disponible -/+ buffers/cache.

Désolé pour le retard !

En tout cas merci beaucoup pour ta réponse, ça m’aide à y voir plus claire :slightly_smiling:

ps: ce qui veut dire que sur le serveur il n’y a pas vraiment les 16go de “vrais” RAM ?

ps2 … ><

je vien de faire

sync su echo 3 > /proc/sys/vm/drop_caches

voici le nouveau top

Mem: 16428152k total, 2473920k used, 13954232k free, 18088k buffers Swap: 1001464k total, 2152k used, 999312k free, 88372k cached

Est-ce normal que mon cache se remplisse comme ça ?

Bien sûr que si. Qu’est-ce qui te fait penser cela ? Si c’est la phrase “tu n’utilises réellement que 6Go sur les 16 disponibles”, alors sache que c’est faux ou très mal exprimé. Les buffers et le cache sont aussi réels que le reste de l’utilisation de la mémoire.

Oui, à moins que ton serveur ne fasse aucun accès au système de fichiers.

Effectivement, l’expression est assez malheureuse. Ce que je voulais dire c’est que, au moment de la mesure effectuée par top, seulement 6Go étaient utilisés pour “les besoins utilisateurs” et que le système profite “comme bon lui semble” (pour de la mise en cache) du reste de la mémoire. Ce qui fait que les 16Go sont effectivement utilisés, mais pas pour les mêmes besoins, sachant que “les besoins utilisateurs” sont prioritaires et que le cache n’utilise que “les restes”.

Voilà, j’espère que c’est plus clair.

Même pas, car cele englobe aussi certains caches système (cache directories et inodes par exemple, qui sont vidés en envoyant 2 dans vm.drop_caches) qui n’ont pas grand chose à voir avec “les besoins utilisateur”.

Avec cette expression je suppose que tu veux parler de la mémoire directement occupée par les applications ? C’est une question de point de vue. Si on y réfléchit, la situation d’un fichier qui peut être sur disque ou en cache n’est pas très différente de la situation d’un processus qui peut être dans le swap ou en mémoire. De même que le fichier n’a vraiment besoin d’être chargé en cache que lorsqu’on y accède, le processus n’a vraiment besoin d’être chargé en mémoire que lorsqu’il a du code à exécuter, sachant que la plupart des applications passent leur temps à attendre d’avoir quelque chose à faire. Dans les deux cas le fait de garder l’un ou l’autre en mémoire ne sert qu’à accélérer le fonctionnement du système en évitant des accès disque.

Cette similitude est bien prise en compte par les développeurs du noyau puisqu’il existe autre un paramètre, vm.swappiness, qui permet de régler la priorité entre les processus et le cache pour l’allocation à la mémoire. Selon la valeur, en cas de pression sur la mémoire le noyau aura tendance soit à diminuer le cache soit à swapper les processus. On peut donc donner une plus grande priorité au cache qu’aux applications si on le souhaite. A première vue on pourrait penser qu’il est plus efficace de toujours donner la priorité aux applications, mais ce n’est pas forcément vrai : les applications utilisent des fichiers en plus de leur propre code, et le fait de devoir recharger un fichier depuis le disque parce qu’il n’est plus en cache est aussi pénalisant pour les performances que de devoir recharger la mémoire du programme lui-même depuis le swap. Il suffit de vider les caches en exécutant la commande mentionnée dans le premier message et de constater à quel point le système est temporairement ralenti par la suite (jusqu’à ce que le cache se remplisse à nouveau) pour s’en rendre compte.

Bonjour à tous, merci pour cet précisions !

En gros, je laisse faire les choses et le cache se remplir ?
Les serveurs que je vais lancer aurons quand même leur bonbons en ram xD

voici le top maintenant:

Mem: 16428152k total, 6375276k used, 10052876k free, 254580k buffers Swap: 1001464k total, 2152k used, 999312k free, 4168424k cached

Merci PascalHambourg pour toutes ces précisions. Effectivement j’ai pris soin ce coup ci de mettre des guillemets autour de mes propos car d’une part je ne suis pas spécialiste du sujet et d’autre part les mécaniques de gestion de la mémoire exprimés en si peu de mots c’est forcément réducteur.
[size=50]Et maintenant je crois que je vais me taire avant de dire d’autres bêtises, imprécisions, propos incomplet et réducteur.[/size] :blush:

Bon, finalement je vais encore parler. :wink:

[quote=“LeRelOo”]En gros, je laisse faire les choses et le cache se remplir ?
Les serveurs que je vais lancer aurons quand même leur bonbons en ram xD[/quote]
Tant que le swap ne “gonfle” pas, c’est que la machine a suffisamment de RAM pour subvenir à ses besoins.

Ok merci.

Et si le swap gonfle un peu trop à ton goût et que cela nuit à la réactivité des programmes, tu peux baisser un peu la valeur de vm.swappiness afin de donner moins de priorité au cache.

Merci, je vous aime :041

Maintenant je repart en bataille vs Debian :075

Et merci la thérapie par les plantes pour la patience :033

Cordialement.