# [mémoire] libération de mémoire

## ryo-saeba

comment faire pour libérer la mémoire ram occupée et qui ne sert plus à rien (zombie, etc...)

----------

## Modano

Salut, comment détectes tu qu'elle est utilisée par des process zombies ?

Sinon, va voir ca, pour comprendre pourquoi toute la ram est utilisée (et c'est normal) :

http://fr.gentoo-wiki.com/FAQ_Pourquoi_plus_de_m%C3%A9moire_vive

http://gentoo-wiki.com/FAQ_Linux_Memory_Management plus complet, en Anglais !

----------

## ghoti

 *Modano wrote:*   

> http://gentoo-wiki.com/FAQ_Linux_Memory_Management plus complet, en Anglais !

 

... l'article du wikki est issu de ce post en anglais

A l'époque j'avais effectué une traduction du post original

----------

## bong

Oui mais non....

Pour avoir eu le pc de ryo-saeba entre les mains, je peux confirmer que c'est pas un probleme de cache disque...

----------

## Trevoke

Pour se debarrasser des zombies, il faut : le joyau rouge, le joyau bleu, un fusil avec des grenades explosives, et une Playstation.

Poussez pas, je   :Arrow: 

----------

## spider312

 *bong wrote:*   

> Oui mais non....
> 
> Pour avoir eu le pc de ryo-saeba entre les mains, je peux confirmer que c'est pas un probleme de cache disque...

 Mouais enfin des symptomes précis seraient utiles pour répondre là quand même, la question de départ n'a strictement aucun sens

Au pire, essaye de rebooter, je sais que c'est pas une réponse, mais bon, sans question ...

----------

## ryo-saeba

 *Quote:*   

> Mouais enfin des symptomes précis seraient utiles pour répondre là quand même, la question de départ n'a strictement aucun sens

 

Comment faire pour libérer la mémoire ram occupée ? (c'est mieux avec un point d'interrogation?)

Ne dis pas que la question n'a aucun sens si tu ne sais pas y répondre...

 *Quote:*   

> Au pire, essaye de rebooter

 

Cela ne resoud aucun problème, si je pose la question ici, c'est justement pour ne pas avoir à bêtement rebooter. Le problème est peut être aussi matériel, ou logiciel. Je préfèrerai des réponses plus constructives la prochaine fois, merci.

----------

## marvin rouge

 *ryo-saeba wrote:*   

>  *Quote:*   Mouais enfin des symptomes précis seraient utiles pour répondre là quand même, la question de départ n'a strictement aucun sens 
> 
> Comment faire pour libérer la mémoire ram occupée ? (c'est mieux avec un point d'interrogation?)
> 
> Ne dis pas que la question n'a aucun sens si tu ne sais pas y répondre...
> ...

 

oyy ! si tu veux une réponse claire, pose une question précise .

Ca veut dire quoi "mémoire occupée" ? et ca veut dire quoi la liberer ? tu veux parler du cache ? commence par donner des infos quantitatives précises.

EDIT regarde free par exemple (man free)

----------

## Trevoke

Je devine qu'il a un probleme de RAM: pas de memoire libre.

----------

## guilc

 *ryo-saeba wrote:*   

>  *Quote:*   Mouais enfin des symptomes précis seraient utiles pour répondre là quand même, la question de départ n'a strictement aucun sens 
> 
> Comment faire pour libérer la mémoire ram occupée ? (c'est mieux avec un point d'interrogation?)
> 
> Ne dis pas que la question n'a aucun sens si tu ne sais pas y répondre...
> ...

 

D'autant plus que se réponse n'est pas dénuée de sens : le SEUL moyen de virer les process zombie, c'est le reboot... ou alors de killer init (process de pid 0), ce qui revient a peu près au même.

----------

## _droop_

Lu,

Pour les zombies, il faut tuer le processus parent ou le quitter proprement (exemple : firefox laisse souvent un netstat zombi qui disparait quand on quitte firefox). Enfin un zombi, ca prend une page mémoire (4ko), c'est pas monstrueux à moins d'en avoir beaucoup.

Soir.

----------

## spider312

 *Modano wrote:*   

> Salut, comment détectes tu qu'elle est utilisée par des process zombies ?

 Le minimum serait de répondre à cette question

----------

## guilc

 *_droop_ wrote:*   

> Lu,
> 
> Pour les zombies, il faut tuer le processus parent ou le quitter proprement (exemple : firefox laisse souvent un netstat zombi qui disparait quand on quitte firefox). Enfin un zombi, ca prend une page mémoire (4ko), c'est pas monstrueux à moins d'en avoir beaucoup.
> 
> Soir.

 

OUais mais parfois, les zombies remontent a init (souvent meme), et la, ta techique marche plus  :Wink: , c'est reboot oblige

----------

## _droop_

 *guilc wrote:*   

>  *_droop_ wrote:*   ...il faut tuer le processus parent... 
> 
> OUais mais parfois, les zombies remontent a init (souvent meme), et la, ta techique marche plus , c'est reboot oblige

 

 :Laughing: 

Sinon, la mémoire conssomait par les zombies : 

```
ps -e | grep defunct | wc -l
```

, à multiplier par 4ko.  :Smile: 

Si il y a vraiment de la mémoire disparue, il faut peut être regardé du coté des modules noyaux...

----------

## Trevoke

guilc : mais ca prend deux plombes ton truc!

----------

## guilc

 *Trevoke wrote:*   

> guilc : mais ca prend deux plombes ton truc!

 

Bah oui mais si tu fouilles la LKML, même les kernel hackers n'ont pas trouvé d'autre solution   :Laughing: 

----------

## ghoti

 *Trevoke wrote:*   

> guilc : mais ca prend deux plombes ton truc!

 

Ah, maintenant je comprends pourquoi tu veux changer de proc !  :Wink: 

----------

## Trevoke

heu, c'est cense prendre longtemps? Parce que je suis sur un double xeon 2.4ghz en SMP et c'est toujours pas fini ces betises..

----------

## ghoti

 *Trevoke wrote:*   

> Parce que je suis sur un double xeon 2.4ghz en SMP et c'est toujours pas fini ces betises..

 

Heu, tous comptes faits, tu parles du reboot ou de la commande pour compter le nombre de zombies ?

----------

## Trevoke

tout compte fait, je parle de deepclean, le...attends, je me goure de thread la?

*verifie*

Pu... ! je cours me faire fouetter. Je parle de deepclean, dans le thread de delvin ou il a un probleme de disque dur avec trop d'espace pris.

----------

## kopp

Cela était un grand moment de : je suis totalement à côté de la plaque, et en plus je récidive  :Smile: 

----------

## Trevoke

Ca va, ca va, je cours me faire fouetter j'ai dit! Je passe dans le bon thread..

----------

## ryo-saeba

en gros: ma ram se remplie jusqu'au maximum, et lorsque je quitte tous les progs, la ram n'est pas rendue, jusqu'a ce que je freeze. c'est assez clair comme ça?

pour ceux qui en veulent plus: j'ai 256 Mo, au démarrage yen a ke 60-70 d'occupée.

----------

## Trevoke

HAHAHA C'est une contrepeterie geek!

Oh, heum, pardon.

----------

## spider312

Et tu es sur de bien regarder le bonne RAM occupée ? parceque pour info, linux garde en mémoire ce qu'il a lu sur le disque, mais ce "cache" est libreable à la demande, ce n'est donc pas de la mémoire prise, mais une avance sur les futurs access au disque dur, donc une OPTIMISATION, il faut distinguer la ram prise par les applications de la RAM occupée, ce n'est pas pareil

Bref, désolé mais ta question manque encore de précision et nous donne encore l'impression que tu critiques sans t'être documenté, si tel n'est pas le cas, démontre le nous avec des sorties de commande (free -m par exemple), des chiffres, etc ...

----------

## Trevoke

spider, tu es injuste avec lui. C'est bien de demander free -m, mais il vient de dire que la quantite de RAM utilisee augmente jusqu'a un crash.

(ca me rappelle une situation ou j'avais un log qui grandissait vitesse grand V jusqu'a occuper tout le disque dur, tiens...)

T'aurais pas setiathome installe?

----------

## ryo-saeba

 *Quote:*   

> Bref, désolé mais ta question manque encore de précision et nous donne encore l'impression que tu critiques sans t'être documenté, si tel n'est pas le cas, démontre le nous avec des sorties de commande (free -m par exemple), des chiffres, etc ...

 

tu prends assez le choux spider321, avec un free, tu vois qu'il y a très très peu de mémoire de dispo, de toute façon ça crash le système: elle est chouette ton optimisation.

 *Quote:*   

> mais ce "cache" est libreable à la demande

 

pareil, tu pourrais donner la commande, on sait jamais...

bref, je pense avoir était assez clair: 256Mo de ram, je lance des applis, je quitte, je vois la ram ne jamais redescendre, ma ram occupée augmente, plus de ram libre dispo, système craché, reboot.

savoir d'où vient le problème est une chose, mais on peut tout de même éviter cela sans connaître la source.

les killall avec les noms des applis marche pas non plus.

pour les prochains post qui n'ont pas encore compris s'abstenir...

----------

## spider312

 *ryo-saeba wrote:*   

> pareil, tu pourrais donner la commande, on sait jamais...

 à la demande, ça veut dire que si une application le demande, cette mémoire sera automatiquement libérée par le noyau, il n'y a pas de commandes, c'est ton noyau qui le gère

Quand à free, il retourne plusieurs valeurs, chacune ayant un sens bien particulier, mais comme cette question revient toutes les semaines, je ne ferais pas l'effort une ennième fois de les expliquer, je te conseille juste de chercher un peu sur le forum, il me semble qu'il y a un très bon post' explicatif

Et puis après lecture et relecture des infos que tu donnes, je ne vois vraiment aucune trace d'un comportement annormal de ton système, donc j'en déduis qu'il fonctionne bien, dans ce cas, pour libérer de la mémoire, ferme une application (en bref, si vraiment dysfonctionnement il y a, je te conseille de chercher une trace de ce dysfonctionnement plutôt que de perdre du temps à critiquer la forme de mes réponses)

P.S. killall qui ne fonctionne pas ? tu killall et ça kille rien ? sans message d'erreur ? même en root ? alors il y a un gros problème

Ah oui, au passage, quand il n'y a plus de mémoire dispo, le kernel ne plante pas, il kille lui même les process qui prennent de la mémoire, donc ton crash ne vient pas d'un manque de mémoire (enfin pas directement)

----------

## kopp

 *Trevoke wrote:*   

> HAHAHA C'est une contrepeterie geek!
> 
> Oh, heum, pardon.

 

Là, je ne te suis pas du tout... il est peut être trop tard mais bon...

Enfin explique qu'on rigole, ça détendra un peu l'atmosphère de ce fil...

----------

## NiLuJe

Kernel -ck avec swap prefetching? Si oui c'est le prefetch, cherche pas plus loin.

Si non, je passe, et j'voudrais pas enfoncer le clou, mais ... des chiffres! ^^

----------

## ghoti

 *ryo-saeba wrote:*   

> bref, je pense avoir était assez clair: 256Mo de ram, je lance des applis, je quitte, je vois la ram ne jamais redescendre, ma ram occupée augmente, plus de ram libre dispo, système craché, reboot.

 

Bein non, c'est pas clair  :Sad: 

Que la ram se remplisse et soit finalement occupée à 100 %, c'est tout-à-fait normal et c'est le comportement habituel d'un système linux sain.

Ce qui n'est pas normal par contre, c'est le crash. Le noyau est en principe protégé contre ce genre de conneries.

Cela dit, les "zombies" ne peuvent pas être supprimés autrement que par un reboot. C'est en tout cas ce qui m'a été répondu il y a plusieurs années sur je ne sais plus quel forum et que j'ai toujours pu vérfier jusqu'ici. Un zombie est un processus sur lequel le noyau n'a plus la main et il n'y a pas de solution connue pour récupérer les malheureux 4k qu'il occupe.

Le type d'infos qu'il nous faudrait, outre celles qu'on t'a précisées :

- quid du swap ? Au fait, tu en as un ? Remarque, c'est pas ça qui va faire planter mais si tu en as un, son degré/vitesse de remplissage pourraient aider.

- rien dans les logs ? le(s) fichier(s) exacts dépendent du package (syslog, syslog-ng, ...), mais c'est en principe dans /var/log

- quel type de noyau ? (certains "tripotent" la mémoire plus que d'autres - voir le post de  NiLuJe ...)

- il y a des messages au moment du crash ? (donner les messages exacts et complets, hein : on n'est pas à redmond ici  :Wink:  )

- quelles applications tournes-tu ? Le crash se produit-il toujours au même endroit, avec la même application  ?

- c'est quoi tes "zombies" ? Au fait, tu as essayé la commande de spider312 pour déterminer leur nombre et leurs noms?

- ... (non exhaustif! : toute information technique est utile car ici c'est pas madame Soleil !)

 *Quote:*   

> pour les prochains post qui n'ont pas encore compris s'abstenir...

 

J'ai pas compris mais j'ai pas envie de m'abstenir  :Mr. Green: 

Je ne suis pas certain que tu vas te faire des tas de copains ici si tu maintiens ce ton prétentieux  :Sad: 

Comme sur tous les forums, personne ne te doit rien! Mais on est prêt à t'aider et c'est ce que spider312 et les autres essayent désespérément de faire.

Le dérapage général vient du fait que tu ne donnes aucun renseignement technique qui pourrait éventuellement permettre à l'un ou l'autre  Grand Gourou de te guider.

Si tu ne comprend pas ça alors peut-être qu'il vaudrait mieux te tourner vers un système d'exploitation un peu plus à la hauteur de tes possibilités : il paraît que certains ont une excellente hotline et un prodigieux système de facturation ....

Désolé d'être cassant mais tu l'as un peu cherché !

Bon, allez, un petit effort pour repartir du bon pied ?  :Wink: 

----------

## Enlight

 *ryo-saeba wrote:*   

>  *Quote:*   Bref, désolé mais ta question manque encore de précision et nous donne encore l'impression que tu critiques sans t'être documenté, si tel n'est pas le cas, démontre le nous avec des sorties de commande (free -m par exemple), des chiffres, etc ... 
> 
> tu prends assez le choux spider321, avec un free, tu vois qu'il y a très très peu de mémoire de dispo, de toute façon ça crash le système: elle est chouette ton optimisation.
> 
> 

 

Faudrait voir à se calmer avec les gens qui essayent de t'aider!!!

Tu n'a parlé de freeze qu'a partir du 3è poste alors il peut très bien avoir raté l'endroit où tu l'a écrit, ou avoir pensé que les 2 n'étaient pas liés.

Je maintient quand même qu'un free -m, un ps où l'on puisse voir les processus marqués defunct (Z), ou un extrait de log (si le kernel doit tuer plein de processus jusqu'à init, je paries qu'il nous aura laissé un joyeux printk pour nous l'annoncer.) qui puisse parraître significatif ne seraient pas du luxe!!!!

de même pour tes flags, ta version de gcc et du kernel.

 *Quote:*   

> 
> 
>  *Quote:*   mais ce "cache" est libreable à la demande 
> 
> pareil, tu pourrais donner la commande, on sait jamais...
> ...

 

killall "simple" ou killall -9??? parcequ'un defunct répondra jamais à un "simple" killall.

Sinon aux autres, dites moi si je me gourre mais en mode protégé, les pages de 4 ko ne sont pas forcément physiquement dans la RAM, ou bien?

----------

## ghoti

 *Enlight wrote:*   

> les pages de 4 ko ne sont pas forcément physiquement dans la RAM, ou bien?

 

Il y a le swap ...

Mais je n'ai pas bien compris l'histoire du "mode protégé" ? Ca me rapelle des notions w$ mais sous linux, après le boot, c'est pas d'office en "protégé" ?

----------

## Enlight

 *ghoti wrote:*   

>  *Enlight wrote:*   les pages de 4 ko ne sont pas forcément physiquement dans la RAM, ou bien? 
> 
> Il y a le swap ...
> 
> Mais je n'ai pas bien compris l'histoire du "mode protégé" ? Ca me rapelle des notions w$ mais sous linux, après le boot, c'est pas d'office en "protégé" ?

 

oui oui, sous tout OS moderne sur x86 (x>=3 si je dis pas de connerie), après les autres proco j'en sais que dalle... enfin moi et la pagination on est pas tout à fait intimes   :Confused: 

----------

## ghoti

 *Enlight wrote:*   

> enfin moi et la pagination on est pas tout à fait intimes  

 

Faudrait que je replonge dans mes bouquins mais il me semble que la gestion de la "pagination" est inhérente à l'OS tandis que le "mode" est une caractéristique du processeur (x86). il existe 3 modes si je me rappelle bien mais faudrait que je cherche et il est un peu tard/tôt  :Wink: 

----------

## Trevoke

La programmeuse compile le C.

--> contrepeterie.

C'est tres drole. Ca me fait rire. Meme maintenant.   :Laughing: 

----------

## Starch

 *ryo-saeba wrote:*   

> en gros: ma ram se remplie jusqu'au maximum, et lorsque je quitte tous les progs, la ram n'est pas rendue, jusqu'a ce que je freeze. c'est assez clair comme ça?
> 
> pour ceux qui en veulent plus: j'ai 256 Mo, au démarrage yen a ke 60-70 d'occupée.

 

Ça me faisait ça il y'a fort longtemps avec Xfree (pas xorg), entrance et le framebuffer.

Inexplicable et inexpliqué, j'ai viré entrance, j'ai changé pour xorg, depuis ça ne le fait plus.

Un problème de nvidia peut-être.

----------

## ghoti

 *Trevoke wrote:*   

> C'est tres drole. Ca me fait rire.

 

Effectivement, je suis sûr qu'à la cire ça doit faire un bien fou !  :Laughing: 

----------

## Enlight

 *ghoti wrote:*   

>  *Trevoke wrote:*   C'est tres drole. Ca me fait rire. 
> 
> Effectivement, je suis sûr qu'à la cire ça doit faire un bien fou ! 

 

héhé! merci pour l'indice ghoti!

----------

## ghoti

On va se faire locker, moi je vous le dit   :Rolling Eyes: 

Bon, une dernière puisqu'on a l'air d'aimer ça : " L'informaticienne trouve le 'C' épineux"

----------

## marvin rouge

 *ghoti wrote:*   

> " L'informaticienne trouve le 'C' épineux"

  rhooo ...

 :Laughing: 

----------

