67 votes

Comment savoir quel programme utilise trop de mémoire ?

Ubuntu s'est planté sur moi récemment. Je pense que c'est parce qu'il manque de mémoire, alors j'ai lancé la commande free -m et j'ai constaté que mon utilisation de la mémoire était très élevée. Alors, j'ai lancé top pour trouver le coupable, mais les processus affichés utilisaient moins de 1,5 % de la mémoire. Comment puis-je savoir quel programme fait planter ubuntu ou le fait manquer de mémoire ? Voici le résultat :

shafee@shafee-pc:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          3824       3714        110          0        978       1954
-/+ buffers/cache:        780       3044
Swap:           99          0         99

shafee@shafee-pc:~$ top
top - 02:12:14 up  1:24,  2 users,  load average: 0.16, 0.42, 1.49
Tasks: 182 total,   1 running, 181 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.9%us,  1.9%sy,  0.3%ni, 79.3%id, 15.5%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   3916708k total,  3803848k used,   112860k free,  1002308k buffers
Swap:   102396k total,        0k used,   102396k free,  2001852k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 4200 root      20   0  289m  53m  38m S    2  1.4   1:06.45 Xorg               
 5590 shafee    20   0 19348 1368  956 R    2  0.0   0:00.01 top                
    1 root      20   0 24124 2136 1264 S    0  0.1   0:02.05 init               
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd           
    3 root      20   0     0    0    0 S    0  0.0   0:24.23 ksoftirqd/0        
    6 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0        
    7 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/1        
    9 root      20   0     0    0    0 S    0  0.0   0:00.11 ksoftirqd/1        
   11 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/2        
   13 root      20   0     0    0    0 S    0  0.0   0:03.89 ksoftirqd/2        
   14 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/3        
   16 root      20   0     0    0    0 S    0  0.0   0:00.16 ksoftirqd/3        
   17 root       0 -20     0    0    0 S    0  0.0   0:00.00 cpuset             
   18 root       0 -20     0    0    0 S    0  0.0   0:00.00 khelper            
   19 root       0 -20     0    0    0 S    0  0.0   0:00.00 netns              
   21 root      20   0     0    0    0 S    0  0.0   0:00.01 sync_supers        
shafee@shafee-pc:~$

Ou est-il normal d'avoir 110 Mo de mémoire libre et mon problème est-il lié à autre chose ?

0voto

Promise Preston Points 205

J'ai rencontré ce problème en travaillant sur une machine Ubuntu 20.04.

Permettez-moi d'ajouter mes deux cents à cette question :

Vos gratuit /La mémoire non allouée est 110MB

En Mémoire tampon/cache/allocations La mémoire qui est 3044 est en fait de la mémoire libre mais elle est déjà allouée.

C'est ce qui se passe. Au fur et à mesure que vous utilisez plus d'applications sur votre ordinateur portable, votre Mémoire tampon/cache/allocations en allouant plus de mémoire spécifiquement à ces applications. Cette augmentation de la mémoire vous permet d'accéder facilement à ces applications en mémoire, ce qui augmente les performances.

Cependant, les nouvelles applications peuvent maintenant avoir à se battre avec les libre/non alloué mémoire restante, car le Mémoire tampon/cache/allocations Même s'ils sont gratuits, ils ont déjà été alloués à un ensemble d'applications que vous utilisez actuellement.

J'ai trouvé un script en ligne qui vous aide à libérer certains Mémoire tampon/cache/allocations pour que d'autres applications puissent l'utiliser sans redémarrer votre machine. Vous devrez peut-être exécuter le script une fois par jour/semaine.

free -h && sudo sysctl -w vm.drop_caches=3 && sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches && free -h

Ressources : Comment savoir quel programme utilise trop de mémoire ?

C'est tout.

J'espère que cela vous aidera

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