Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation Mémoire Vive

18 réponses
Avatar
Youenn BALLOUARD
Bonjour,

J'ai un serveur MySQL sous Red Hat Entreprise Linux. Seulement voila
quand je regarde les charges CPU et Mem avec la commande 'top' je me
retrouve avec les résultats suivants (triés en fonction du %Mem)

top - 17:27:32 up 3 days, 13:02, 2 users, load average: 0.00, 0.01, 0.00
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0% us, 0.4% sy, 0.0% ni, 99.6% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 2074940k total, 2058524k used, 16416k free, 23996k buffers
Swap: 2031608k total, 144k used, 2031464k free, 1874524k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2422 mysql 16 0 620m 92m 4252 S 0.0 4.6 0:00.28 mysqld
2291 root 15 0 12916 9420 2668 S 0.0 0.5 0:02.71 Xvnc
2379 root 16 0 8152 5548 1568 S 0.0 0.3 0:46.44 hald
2305 root 16 0 10504 2968 1948 S 0.0 0.1 0:00.19 xterm
2267 root 16 0 10244 2396 1864 S 0.0 0.1 0:02.34 smbd
2271 root 18 0 10244 2372 1840 S 0.0 0.1 0:00.00 smbd
10278 root 16 0 7496 2136 1728 S 0.0 0.1 0:00.02 sshd
2272 root 16 0 8832 2004 1596 S 0.0 0.1 0:13.95 nmbd
2306 root 15 0 6904 1892 1388 S 0.0 0.1 0:00.04 twm
2186 root 16 0 4696 1596 1304 S 0.0 0.1 0:00.39 sshd
2257 xfs 16 0 4228 1592 824 S 0.0 0.1 0:00.01 xfs
2337 root 16 0 5104 1424 1144 S 0.0 0.1 0:00.02 bash
10280 root 15 0 4448 1396 1124 S 0.0 0.1 0:00.00 bash
2304 root 15 0 5464 1312 1108 S 0.0 0.1 0:00.00 vncconfig
2395 root 17 0 5856 1180 1024 S 0.0 0.1 0:00.00 mysqld_safe
2338 dbus 16 0 2952 1164 1028 S 0.0 0.1 0:00.07 dbus-daemon-1
2143 root 16 0 3692 1048 924 S 0.0 0.1 0:00.00 ipsync
2176 root 16 0 3092 1008 888 S 0.0 0.0 0:00.06 watchdog
1934 root 16 0 2532 984 704 S 0.0 0.0 0:00.00 dhclient
2086 root 16 0 5776 980 816 S 0.0 0.0 0:00.02 rpc.idmapd
10321 root 15 0 3376 908 716 R 1.4 0.0 0:00.05 top


Je trouve étrange que mes 2 Go de RAM soit totalement utilisé alors que
je n'ai aucun processus qui tourne.
Qqun peut il m'indiquer des pistes ou trouver les raisons de cette
'surcharge' ou alors quelles pourraient etre les raisons.

merci d'avance de votre aide.

cordialement.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Youenn BALLOUARD
Chef de Projets Informatiques
Groupe FINDIS

Tel. 02.41.96.68.77
Fax. 02.41.96.68.53

youenn.ballouard@findis.fr
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

10 réponses

1 2
Avatar
Arol
"Youenn BALLOUARD" a écrit dans le message de news:
J'ai un serveur MySQL sous Red Hat Entreprise Linux. Seulement voila
quand je regarde les charges CPU et Mem avec la commande 'top' je me
retrouve avec les résultats suivants (triés en fonction du %Mem)

top - 17:27:32 up 3 days, 13:02, 2 users, load average: 0.00, 0.01, 0.00
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0% us, 0.4% sy, 0.0% ni, 99.6% id, 0.0% wa, 0.0% hi, 0.0%
si

Mem: 2074940k total, 2058524k used, 16416k free, 23996k buffers
Swap: 2031608k total, 144k used, 2031464k free, 1874524k cached

Je trouve étrange que mes 2 Go de RAM soit totalement utilisé alors que
je n'ai aucun processus qui tourne.
Qqun peut il m'indiquer des pistes ou trouver les raisons de cette
'surcharge' ou alors quelles pourraient etre les raisons.


En fait, il faut pas trop se fier à la ligne Mem de top.
Quand je démarre une debian sarge à vide, top m'indique 24Mo d'utilisé, je
lance mysqld, top m'indique 60Mo de ram, j'arrête mysqld, top m'indique 50Mo
de ram. Je m'attendais à revenir à 24Mo, mais en fait non.
La raison est que les programmes terminées ne libèrent pas totalement la
mémoire parce que justement la limite de mémoire disponible n'est pas
atteinte. Mais si tu lances un programme qui va prendre toute la mémoire,
alors cette mémoire non libérée, se retrouve libérée et attribuée à ce
programme.
C'est de la gestion dynamique de mémoire et linux va utiliser toute la
mémoire dispo et la libérer uniquement quand il le faut.

J'ai essayé de trouver un prog qui justement libère cette mémoire non
utilisée, mais j'ai pas trouvé.
Quelqu'un à ce prog ?

Avatar
lhabert
"Arol" :

La raison est que les programmes terminées ne libèrent pas totalement la
mémoire parce que justement la limite de mémoire disponible n'est pas
atteinte.


C'est faux. Ce qu'il se passe, c'est que le noyau utilise la mémoire non
utilisée par les programmes pour le cache disque.

Avatar
Arol
"Luc Habert" a écrit dans le message de news:
La raison est que les programmes terminées ne libèrent pas totalement la
mémoire parce que justement la limite de mémoire disponible n'est pas
atteinte.


C'est faux. Ce qu'il se passe, c'est que le noyau utilise la mémoire non
utilisée par les programmes pour le cache disque.


Le cache disque de quelle application ?
L'application est terminée, il ne devrait plus avoir de cache disque.
Pourquoi quand je lance mysqld et que je l'arrête, je me retrouve pas au
même niveau de mémoire ?
Le delta restant vient d'ou ?


Avatar
lhabert
"Arol" :

Le cache disque de quelle application ?


Le cache disque du noyau. Les applications n'ont pas de cache disque (à
moins de s'amuser à en gérer un à la main, mais c'est rare). Quand un
programme demande au noyau de lire un fichier, le noyau garde ce qu'il a lu
dans le cache, au cas où un autre programme (ou le même) voudrait réaccéder
à ce fichier. Que le programme qui a demandé le fichier soit mort ou pas,
peu importe.

L'application est terminée, il ne devrait plus avoir de cache disque.


Non.

Avatar
Arol
"Luc Habert" a écrit dans le message de news:
Le cache disque de quelle application ?


Le cache disque du noyau. Les applications n'ont pas de cache disque (à
moins de s'amuser à en gérer un à la main, mais c'est rare). Quand un
programme demande au noyau de lire un fichier, le noyau garde ce qu'il a
lu

dans le cache, au cas où un autre programme (ou le même) voudrait
réaccéder

à ce fichier. Que le programme qui a demandé le fichier soit mort ou pas,
peu importe.


D'accord.
Comment supprimer ce cache disque ?


Avatar
Arol
"Luc Habert" a écrit dans le message de news:
Le cache disque de quelle application ?


Le cache disque du noyau. Les applications n'ont pas de cache disque (à
moins de s'amuser à en gérer un à la main, mais c'est rare). Quand un
programme demande au noyau de lire un fichier, le noyau garde ce qu'il a
lu

dans le cache, au cas où un autre programme (ou le même) voudrait
réaccéder

à ce fichier. Que le programme qui a demandé le fichier soit mort ou pas,
peu importe.


D'accord.
Comment vider ce cache disque ?
Il y a une commande ?


Avatar
Calimero
Arol wrote:

D'accord.
Comment supprimer ce cache disque ?


Le noyaux le fait tout seul si une application a besoin de mémoire.
Ne pas utiliser la ram serait "gacher".

"free -m" te donnera la part de cache dans la RAM actuellement utilisée.

--
@+
Calimero

Avatar
lhabert
"Arol" :

Comment vider ce cache disque ?


Mais tu ne veux pas le vider! Le noyau le fera tout seul si des programmes
demandent qu'on alloue de la mémoire. En attendant, tu as tout intéret à le
garder.

Avatar
Arol
"Luc Habert" a écrit dans le message de news:
Comment vider ce cache disque ?


Mais tu ne veux pas le vider! Le noyau le fera tout seul si des programmes
demandent qu'on alloue de la mémoire. En attendant, tu as tout intéret à
le

garder.


Ok, c'est bien ce que je disais.
Mon erreur était de penser qu'un cache noyau est associé à une application
qui tourne. En fait non, le cache du noyau contient tout et n'importe quoi
et on peut pas y toucher.
Moui.


Avatar
Pascal Hambourg
Salut,


J'ai un serveur MySQL sous Red Hat Entreprise Linux. Seulement voila
quand je regarde les charges CPU et Mem avec la commande 'top' je me
retrouve avec les résultats suivants (triés en fonction du %Mem)

top - 17:27:32 up 3 days, 13:02, 2 users, load average: 0.00, 0.01, 0.00
Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0% us, 0.4% sy, 0.0% ni, 99.6% id, 0.0% wa, 0.0% hi,
0.0% si
Mem: 2074940k total, 2058524k used, 16416k free, 23996k buffers
Swap: 2031608k total, 144k used, 2031464k free, 1874524k cached


C'est très bien, ça. Toute la mémoire non utilisée par les processus,
soit environ 1,9 Go, est occupée par le cache disque.

1 2