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

Abus mémoire via cryptsetup

22 réponses
Avatar
Kevin Hinault
Bonjour la liste !

Je suis soumis =E0 une =E9tranget=E9 sur ma Debian Etch. Une utilisation
excessive de ma RAM =E0 cause de mes partitions chiffr=E9es.
La situation est la suivantes :
- 1 disque dur de 500 Go avec :
- 1 partition ext3 de 15 Go pour le / qui est non chiffr=E9e
- 2 partitions ext3 d'environ 240 Go chacune chiffr=E9e avec cryptsetu=
p
- 1 partition swap de 500 Mo
- 3 Go de DDR
- uptime : 150 jours

Jusqu'=E0 hier pas de probl=E8me particulier la b=EAte g=E8rent plusieurs
services et tout tournent correctement sans exploitation particuli=E8re
des ressources dans top.

C'est justement pour =E7a que je n'ai pas vu arriver mon probl=E8me : Hier
je m'aper=E7ois qu'un de mes services =E0 saut=E9 et logwatch m'informe que
le noyau a tu=E9 ce service par manque de m=E9moire.
Ni une ni deux, je v=E9rifie ma m=E9moire avec free :
Il ne me restait que 30 Mo de libre ! (et le swap n'=E9tait pas utilis=E9
mais c'est un autre probl=E8me que je ne comprend pas)

Bref je regarde mes processus, rien de particulier, aucun ne prend des
ressources excessives : 5% maximum pour le pire d'entre eux.
Du coup hier soir, je m'attaque au probl=E8me : j'arr=EAte chaque service
un =E0 un et v=E9rifie l'=E9tat de free entre chaque. Je me rends =E0
l'=E9vidence =E0 la fin, j'ai gagn=E9 =E0 peine 250 Mo de libre une fois to=
ut
mes services arr=EAt=E9 (hormis ssh)... Y a donc un probl=E8me ailleurs, et
la je pense =E0 mes partitions chiffr=E9s. Je d=E9monte la premi=E8re qui e=
st
vide : aucun r=E9sultats, je d=E9monte la seconde qui est utilis=E9 =E0 88%
(mais sans aucun processus n'acc=E9dant aux donn=E9es, lsof =E0 l'appui) et
l=E0 tout =E0 coup je r=E9cup=E8re mes (presque) 3 Go de libre sur ma m=E9m=
oire
!!!!

Depuis hier j'ai install=E9 munin et je vais surveiller =E7a mais bon rien
qu'entre hier soir et ce matin j'ai perdu d=E9j=E0 pas mal :
# free -o -m
total used free shared buffers cached
Mem: 3028 1161 1866 0 92 815
Swap: 0 0 0


Donc je me demande s'il existe un moyen de vider cette utilisation
abusive de la m=E9moire sans avoir =E0 d=E9monter les partitions ?
Quelqu'un a t'il d=E9j=E0 rencontr=E9 ce probl=E8me ?

--=20
Vous aimez la bretagne ?
Breizh da viken : www.pointbzh.com

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

10 réponses

1 2 3
Avatar
François Cerbelle
Le Jeu 20 novembre 2008 09:36, Kevin Hinault a écrit :
[...]
Donc je me demande s'il existe un moyen de vider cette utilisation
abusive de la mémoire sans avoir à démonter les partitions ?
Quelqu'un a t'il déjà rencontré ce problème ?



Salut,

Ne serait-ce pas la mémoire cache du noyau qui conserve les données
accédées sur un système de fichier en mémoire. Ces blocs devraient être
automatiquement libérés lorsque le système a besoin de mémoire et
déclenche une récupération de la mémoire disponible (elles devraient soit
partir dans le swap, soit être éliminée). Mais ca n'explique pas ton "out
of memory".

Dans munin, tu dervais pouvoir identifier facilement (chez moi, le cache
est orange) quel type de mémoire occupe la mémoire physique.

Fanfan
--
http://www.cerbelle.net - http://www.afdm-idf.org

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Kevin Hinault
> Salut,

Ne serait-ce pas la mémoire cache du noyau qui conserve les données
accédées sur un système de fichier en mémoire. Ces blocs devraien t être
automatiquement libérés lorsque le système a besoin de mémoire et
déclenche une récupération de la mémoire disponible (elles devrai ent soit
partir dans le swap, soit être éliminée). Mais ca n'explique pas to n "out
of memory".

Dans munin, tu dervais pouvoir identifier facilement (chez moi, le cache
est orange) quel type de mémoire occupe la mémoire physique.

Fanfan



Salut François,

C'est bien la mémoire cache en effet qui était utilisée (enfin d'apr ès
free). Je vais tout le même surveiller ça bien mieux avec munin.
Mais donc si c'est le cache du noyau, ne devrait elle pas être libéré
si les processus sont arrêté ? Et pourquoi le système n'utilise pas
plutôt le swap ? (qui ne devrait pas être à 0 dans free d'ailleurs).
D'ailleurs si c'est un cache du noyau pourquoi est ce l'umount qui m'a
libéré de la mémoire ? O_o

Je viens de penser que j'avais une autre machine avec elle aussi une
partition chiffré dans les même conditions et j'ai vérifié :

# free -o -m
total used free shared buffers cached
Mem: 1000 987 13 0 3 944
Swap: 509 0 509

# uptime
10:06:47 up 51 days, 16:01, 1 user, load average: 0.64, 0.56, 0.29

Aie ! (je vais mettre un munin aussi ici lol)

--
Vous aimez la bretagne ?
Breizh da viken : www.pointbzh.com

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
GiGGz
Kevin Hinault a écrit :
Salut,

Ne serait-ce pas la mémoire cache du noyau qui conserve les données
accédées sur un système de fichier en mémoire. Ces blocs devraient être
automatiquement libérés lorsque le système a besoin de mémoire et
déclenche une récupération de la mémoire disponible (elles devraient soit
partir dans le swap, soit être éliminée). Mais ca n'explique pas ton "out
of memory".

Dans munin, tu dervais pouvoir identifier facilement (chez moi, le cache
est orange) quel type de mémoire occupe la mémoire physique.

Fanfan



Salut François,

C'est bien la mémoire cache en effet qui était utilisée (enfin d'après
free). Je vais tout le même surveiller ça bien mieux avec munin.
Mais donc si c'est le cache du noyau, ne devrait elle pas être libéré
si les processus sont arrêté ? Et pourquoi le système n'utilise pas
plutôt le swap ? (qui ne devrait pas être à 0 dans free d'ailleurs).
D'ailleurs si c'est un cache du noyau pourquoi est ce l'umount qui m'a
libéré de la mémoire ? O_o




Je ne peux pas t'aider au niveau de ton pb. Mais j'ai moins même
constater que ma swap reste en permanence à Zero...étrange non ? j'ai
2Go de RAM et 1Go de swap. Je suis dans le calcul numérique dans la RAM
se remplie souvent, mais rien de se "déverse" dans la swap...comprends
pas...

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
GiGGz, jeudi 20 novembre 2008, 10:25:52 CET

Kevin Hinault a écrit :
>> Salut,



’lut,

> C'est bien la mémoire cache en effet qui était utilisée
> (enfin d'après free). Je vais tout le même surveiller ça
> bien mieux avec munin. Mais donc si c'est le cache du noyau,
> ne devrait elle pas être libéré si les processus sont
> arrêté ?



Non : si une application vient de lire un fichier, il y a des
chances que le fichier soit réutilisé rapidement. Autrement
dit : pourquoi enlever de la mémoire cache une donnée qui
pourrait resservir ?
(Évidemment, c’est à modérer avec le besoin de pla ce…)

> Et pourquoi le système n'utilise pas plutôt le
> swap ? (qui ne devrait pas être à 0 dans free d'ailleurs).
> D'ailleurs si c'est un cache du noyau pourquoi est ce
> l'umount qui m'a libéré de la mémoire ? O_o



Le umount indique que les fichiers ne sont plus disponibles
sur le disque. Ils ne sont plus disponibles « tout court  ». Ils
n’ont donc plus rien à faire dans la cache. Ce serait même
illogique que certains (morceaux de) fichiers soient encore
disponibles parce qu’ils sont en cache.
Le cache doit absolument être transparent pour les
applications.

Je ne peux pas t'aider au niveau de ton pb. Mais j'ai moins
même constater que ma swap reste en permanence à
Zero...étrange non ?



Non, ce n’est pas étrange.

j'ai 2Go de RAM et 1Go de swap. Je suis
dans le calcul numérique dans la RAM se remplie souvent, mais
rien de se "déverse" dans la swap...comprends pas...



Le swap n’est utilisé que s’il est nécessaire. Et swapper est
suffisamment lent pour que ça ne serve que le temps que le
sysadmin tue lui-même les applications qui bouffent trop de RAM.

D’t’façon, vu la taille actuelle des RAM, pour les u tilisations
« bureau », je ne mets plus de swap que pour des hibern ations…

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
François Cerbelle
Le Jeu 20 novembre 2008 10:17, Kevin Hinault a écrit :
C'est bien la mémoire cache en effet qui était utilisée (enfin d'après
free). Je vais tout le même surveiller ça bien mieux avec munin.
Mais donc si c'est le cache du noyau, ne devrait elle pas être libéré
si les processus sont arrêté ? Et pourquoi le système n'utilise pas
plutôt le swap ? (qui ne devrait pas être à 0 dans free d'ailleurs).
D'ailleurs si c'est un cache du noyau pourquoi est ce l'umount qui m'a
libéré de la mémoire ? O_o



Je n'explique pas pourquoi :
1 - des blocs de mémoire cache ne sont pas libérés par le noyau lorsqu'un
processus a besoin de mémoire ;
2 - ton swap n'est pas utilisé lorsque le système arrive au bout de la
mémoire disponible.

En théorie (je ne suis pas un expert es noyau), si un processus demande de
la mémoire :
- mémoire disponible => on la lui donne
- mémoire insufisante => on libere les pages mémoires libérables (caches
noyau, par exemple) et on lui donne
- mémoire insuffisante => on deplace des blocs dans le swap et on lui donne
- mémoire insuffisante => on tue un process selon un algo particulier (le
plus gourmand, si ma mémoire est bonne) et on lui donne la mémoire

Donc, si tu systeme libérait le cache à la demande, tu aurais pu lancer
ton process, si ton systeme utilisait le swap, tu aurait pu lancer ton
process. Mais pourquoi sembles tu avoir ces deux problemes.

Je répete, je ne suis pas expert dans ce domaine et je peux faire
totalement fausse route.
Fanfan
--
http://www.cerbelle.net - http://www.afdm-idf.org

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Mathieu JANIN
Bonjour !
Je n'ai aucune lumière sur la raison du problême, ni évidemment sur l a manière
de le règler proprement, mais par contre, si un "mount -o remount", qui p eut
se faire à priori sans se préoccuper des accés, permet de récupèr er la
mêmoire perdue, il suffit de croner ce remount à intervale régulier.
Juste une idée temporaire sale, comme ça...

++, MATT

Le jeudi 20 novembre 2008, Kevin Hinault a écrit :
Bonjour la liste !

Je suis soumis à une étrangeté sur ma Debian Etch. Une utilisation
excessive de ma RAM à cause de mes partitions chiffrées.
La situation est la suivantes :
- 1 disque dur de 500 Go avec :
- 1 partition ext3 de 15 Go pour le / qui est non chiffrée
- 2 partitions ext3 d'environ 240 Go chacune chiffrée avec cryptse tup
- 1 partition swap de 500 Mo
- 3 Go de DDR
- uptime : 150 jours

Jusqu'à hier pas de problème particulier la bête gèrent plusieurs
services et tout tournent correctement sans exploitation particulière
des ressources dans top.

C'est justement pour ça que je n'ai pas vu arriver mon problème : Hier
je m'aperçois qu'un de mes services à sauté et logwatch m'informe q ue
le noyau a tué ce service par manque de mémoire.
Ni une ni deux, je vérifie ma mémoire avec free :
Il ne me restait que 30 Mo de libre ! (et le swap n'était pas utilisé
mais c'est un autre problème que je ne comprend pas)

Bref je regarde mes processus, rien de particulier, aucun ne prend des
ressources excessives : 5% maximum pour le pire d'entre eux.
Du coup hier soir, je m'attaque au problème : j'arrête chaque service
un à un et vérifie l'état de free entre chaque. Je me rends à
l'évidence à la fin, j'ai gagné à peine 250 Mo de libre une fois tout
mes services arrêté (hormis ssh)... Y a donc un problème ailleurs, et
la je pense à mes partitions chiffrés. Je démonte la première qui est
vide : aucun résultats, je démonte la seconde qui est utilisé à 8 8%
(mais sans aucun processus n'accédant aux données, lsof à l'appui) et
là tout à coup je récupère mes (presque) 3 Go de libre sur ma m émoire
!!!!

Depuis hier j'ai installé munin et je vais surveiller ça mais bon rien
qu'entre hier soir et ce matin j'ai perdu déjà pas mal :
# free -o -m
total used free shared buffers cached
Mem: 3028 1161 1866 0 92 815
Swap: 0 0 0


Donc je me demande s'il existe un moyen de vider cette utilisation
abusive de la mémoire sans avoir à démonter les partitions ?
Quelqu'un a t'il déjà rencontré ce problème ?

--
Vous aimez la bretagne ?
Breizh da viken : www.pointbzh.com




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Kevin Hinault
Le 20 novembre 2008 09:36, Kevin Hinault a écrit :
...
Ni une ni deux, je vérifie ma mémoire avec free :
Il ne me restait que 30 Mo de libre ! (et le swap n'était pas utilisé
mais c'est un autre problème que je ne comprend pas)

# free -o -m
total used free shared buffers cached
Mem: 3028 1161 1866 0 92 815
Swap: 0 0 0

...



Je me réponds sur la question du swap a 0. C'était tout bêtement que
je n'avais jamais executé la commande swapon :

# swapon /dev/sda4
# free -o -m
total used free shared buffers cached
Mem: 3028 2966 61 0 105 2587
Swap: 509 0 509

Bien qu'apparement cela ne serve pas trop, si j'ai bien compris.

Comme on peut le voir ici la mémoire est repassé à une utilisation
excessive : dans Munin j'ai un pic à partir de 20h et aucun retour à
la normal, ce pic coïncide avec un transfert ftp. J'imagine que ma
mémoire était déjà comme cela depuis longtemps sans que je m'en
aperçoive. Je vais donc supposer que c'est "normal".

Concernant mon service qui avait sauté pour "out of memory", je vais
attendre gentiment qu'il recommence. Le problème était surement
ailleurs.

Et sinon j'avais reçu une idée de "Mathieu JANIN" auquel je n'ai pas
répondu directement ici, il proposait l'option remount de la commande
mount. Celle-ci ne fait rien.

--
Vous aimez la bretagne ?
Breizh da viken : www.pointbzh.com

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Mathieu JANIN
Le vendredi 21 novembre 2008, Kevin Hinault a écrit :
Le 20 novembre 2008 09:36, Kevin Hinault a écrit :


[snip]
Je me réponds sur la question du swap a 0. C'était tout bêtement que
je n'avais jamais executé la commande swapon :

# swapon /dev/sda4
# free -o -m
total used free shared buffers cached
Mem: 3028 2966 61 0 105 2587
Swap: 509 0 509


Swapon t'active bien le swap, mais comme les autres partitions, il faut le
mettre en config dans le fstab pour rendre ça permanent.

Bien qu'apparement cela ne serve pas trop, si j'ai bien compris.


La preuve que si, même si ce sont ici des circonstances exceptionnelle, l e
swap fournit "un peu plus de mêmoire" quand il y a une fuite, donc un peu
plus de temps pour résoudre le problême avant qu'il devienne critique, et que
la pénurie de ram commence à tuer les services.

Mais au delà de ça, une fois un processus swappé (sur disque) il ne n écessite
plus d'alimentation pour les maintenir en mêmoire vive, et donc tu fais d es
économies d'énergie et tu diminue le vieillissement de ta ram (au dét riment
du disque).
Enfin bon, 500 Mo de swap, c'est pas assez vu ta config: si tu commence à
déborder des 3Go dont tu disposes en ram, c'est pas 500 Mo de plus qui vo nt
changer grand chose.

Comme on peut le voir ici la mémoire est repassé à une utilisation
excessive : dans Munin j'ai un pic à partir de 20h et aucun retour à
la normal, ce pic coïncide avec un transfert ftp. J'imagine que ma
mémoire était déjà comme cela depuis longtemps sans que je m'en
aperçoive. Je vais donc supposer que c'est "normal".

Concernant mon service qui avait sauté pour "out of memory", je vais
attendre gentiment qu'il recommence. Le problème était surement
ailleurs.

Et sinon j'avais reçu une idée de "Mathieu JANIN" auquel je n'ai pas
répondu directement ici, il proposait l'option remount de la commande
mount. Celle-ci ne fait rien.

--
Vous aimez la bretagne ?
Breizh da viken : www.pointbzh.com




++, MATT

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pascal Hambourg
Salut,

Kevin Hinault a écrit :
# free -o -m
total used free shared buffers cached
Mem: 3028 2966 61 0 105 2587
Swap: 509 0 509

Comme on peut le voir ici la mémoire est repassé à une utilisation
excessive :



Rien ici n'indique une utilisation excessive. Le cache utilise toute la
mémoire disponible, ce qui est normal et bien. Si cela t'inquiètes, tu
peux forcer le vidage des caches de pages, dentries et inodes avec la
commande suivante :

sysctl -w vm.drop_caches=3
ou
echo 3 > /proc/sys/vm/drop_caches

Et la valeur de la colonne "cached" devrait passer quasiment à zéro (et
la machine va ramer, car elle devra recharger plein de données depuis le
disque). Si ce n'est pas le cas, il peut effectivement y avoir un
problème qui empêche le cache disque de se libérer en cas de besoin.

dans Munin j'ai un pic à partir de 20h et aucun retour à
la normal, ce pic coïncide avec un transfert ftp.



Un pic de quoi ?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Bruno Muller
--=-yrMnLQWsLJ0ZkD1v1TWc
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable

Hello,

Le vendredi 21 novembre 2008 à 11:06 +0100, Mathieu JANIN a écrit :
Mais au delà de ça, une fois un processus swappé (sur disque) il ne
nécessite
plus d'alimentation pour les maintenir en mêmoire vive, et donc tu
fais des
économies d'énergie et tu diminue le vieillissement de ta ram (au
détriment
du disque).



Gni ???!!
La RAM consomme la même quantité de courant qu'on y stocke des donnée s
"utiles" ou du bruit...

Bruno

--
VIE DE MERDE
M : Après les avoir exploités toute l'année... les patrons envoient
leurs employés croupir un mois dans une caravane... au milieu d'un tas
de cons en short...
P : Les salauds !...

--=-yrMnLQWsLJ0ZkD1v1TWc
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Ceci est une partie de message
=?ISO-8859-1?Q?numériquement?= =?ISO-8859-1?Q?_signée?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAkkmjeYACgkQuJD2bkb8m5s0WgCfSZP3PTbaooAP5c1RfnDpCXjM
+D4Amwbtb9gPa8co5pPMcj8bPjnrJJr6
=xMLO
-----END PGP SIGNATURE-----

--=-yrMnLQWsLJ0ZkD1v1TWc--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2 3