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

OS X, La mémoire et le Swap (encore !)

22 réponses
Avatar
pas.de.spam
Juste une petite question, comme ça en passant :

Quelqu'un pourrait-il m'expliquer pourquoi OS X commence à swapper (et
de manière importante), bien avant que la mémoire ne soit intégralement
occupée. Typiquement, sur ma machine qui comporte 3 Go de RAM, elle
commence à créer des fichiers supplémentaires de swap alors qu'il reste
entre 800 Mo et 1 Go de RAM libre (constaté grâce à MenuMeters). Tous
les Unix se comportent-ils de le même façon ? Voire même tous les OS ?

Peux-t'on en conséquence prévoir quel sera le comportement si je passe
la mémoire à 5-6 Go ?

Ke sais que le swap est une conséquence inévitable de la gestion mémoire
de l'OS, mais c'est chiant d'entendre le disque gratter comme un fou.
Hier j'ai quand même réussi à atteindre 4096 Mo de swap (un record), en
n'ayant que peu d'applications ouvertes (Mac SOup, Azureus, Aperçu,
Safari, et iPhoto (celui-là, c'est un vrai RAmophage !).

merci à ceux qui m'éclaireront.
--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr

10 réponses

1 2 3
Avatar
Eric Levenez
Le 2/11/07 14:42, dans <1i6yotq.12qv8nv6q9wowN%,
« Pierre-Olivier TAUBATY » a écrit :

Quelqu'un pourrait-il m'expliquer pourquoi OS X commence à swapper (et


Je pense que tu parles de Mac OS X, je ne pense pas que OS X sur l'iPhone ne
swappe.

de manière importante), bien avant que la mémoire ne soit intégralement
occupée. Typiquement, sur ma machine qui comporte 3 Go de RAM, elle
commence à créer des fichiers supplémentaires de swap alors qu'il reste
entre 800 Mo et 1 Go de RAM libre (constaté grâce à MenuMeters).


La gestion mémoire a effectivement changé avec Leopard par rapport aux
dernières versions de Tiger. Je n'ai pas encore compris pourquoi je swappe
alors qu'avant je ne swappais pas, mais je suppose que cela vient
indirectement de TimeMachine et donc du cache disque. Ce n'est qu'une piste.
Mais ce swappe est très limité chez moi et est donc ni grave ni "anormal".

Tous
les Unix se comportent-ils de le même façon ? Voire même tous les OS ?


Aucun unix ne marche de la même façon et donc aucun OS. Sous Linux,
pratiquement chaque noyau change ce comportement.

Peux-t'on en conséquence prévoir quel sera le comportement si je passe
la mémoire à 5-6 Go ?


Non, mais plus on a de RAM, plus le système l'utilise, ce qui est "normal".
Le comportement doit donc être identique si on ajoute de la RAM (il faut
quand même un minimum de cette RAM).

Ke sais que le swap est une conséquence inévitable de la gestion mémoire
de l'OS,


Non, pas du tout. On peut très bien avoir un système qui ne swappe pas.

mais c'est chiant d'entendre le disque gratter comme un fou.


Là, cela veut dire que tu swappes beaucoup.

Hier j'ai quand même réussi à atteindre 4096 Mo de swap (un record), en
n'ayant que peu d'applications ouvertes (Mac SOup, Azureus, Aperçu,
Safari, et iPhoto (celui-là, c'est un vrai RAmophage !).


On veut aujourd'hui des applications qui affichent de belles images en 32
bits de couleurs. Actuellement Mac OS X utilise un maximum la RAM pour
cacher ces images et donc ne pas faire attendre l'utilisateur avec des
redraw (l'immonde effet gomme ou zone branche sur Mac OS 9 ou Windows). Cela
a un coup.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
pas.de.spam
Eric Levenez wrote:

Le 2/11/07 14:42, dans <1i6yotq.12qv8nv6q9wowN%,

Quelqu'un pourrait-il m'expliquer pourquoi OS X commence à swapper (et


Je pense que tu parles de Mac OS X, je ne pense pas que OS X sur l'iPhone ne
swappe.


Oeuf corse, c'est rare que je l'oublie, surtout lorsque je prévois que
tu vas intervenir ;-)

de manière importante), bien avant que la mémoire ne soit intégralement
occupée. Typiquement, sur ma machine qui comporte 3 Go de RAM, elle
commence à créer des fichiers supplémentaires de swap alors qu'il reste
entre 800 Mo et 1 Go de RAM libre (constaté grâce à MenuMeters).


La gestion mémoire a effectivement changé avec Leopard par rapport aux
dernières versions de Tiger. Je n'ai pas encore compris pourquoi je swappe
alors qu'avant je ne swappais pas, mais je suppose que cela vient
indirectement de TimeMachine et donc du cache disque. Ce n'est qu'une piste.
Mais ce swappe est très limité chez moi et est donc ni grave ni "anormal".


Et bien écoute, là c'est extraordinaire, car à peine a-t'il fallu que
j'écrive ce message pour que mon Mac se mette à faire ce qu'il n'avait
jamais fait auparavant. Il utilise 2774 Mo sur les 3072 à sa disposition
et je n'ai toujours qu'un seul fichier de swap de 64 Mo et il n'est pas
utilisé (dixit Menu Meters). Jamais il n'avait fait cela. Chez moi, Time
Machine n'est pas activé (pour le moment)



Tous
les Unix se comportent-ils de le même façon ? Voire même tous les OS ?


Aucun unix ne marche de la même façon et donc aucun OS. Sous Linux,
pratiquement chaque noyau change ce comportement.


Ah OK, oui, effectivement, il me semble que tu l'avais déjà dit.

Peux-t'on en conséquence prévoir quel sera le comportement si je passe
la mémoire à 5-6 Go ?


Non, mais plus on a de RAM, plus le système l'utilise, ce qui est "normal".
Le comportement doit donc être identique si on ajoute de la RAM (il faut
quand même un minimum de cette RAM).


Je voulais parler d'une "prévision" du "moment" où il se mettrait à
swapper. Sachant qu'auparavant, il commençait à créer des fichiers alors
qu'il lui restait environ 1 Go de libre (sur 3), je voulais savoir si
l'on pouvait déduire une "règle" des 2/3, ou bien que c'était parce
qu'il ne restait "qu'un seul Go".

Mais apparemment, vu ce qu'il me fait maintenant, je suis très
dubitatif.


Ke sais que le swap est une conséquence inévitable de la gestion mémoire
de l'OS,


Non, pas du tout. On peut très bien avoir un système qui ne swappe pas.


LE swap est-il une caractéristique des OS "modernes", enfin moderne
n'est peut-être pas le terme qui convient, sacaht que les Unix ne sont
pas spécialement récents. Peut-être conviendrait-il d'utiliser le terme
"évolué", si tu comprends ce que je veux dire.

mais c'est chiant d'entendre le disque gratter comme un fou.


Là, cela veut dire que tu swappes beaucoup.

Hier j'ai quand même réussi à atteindre 4096 Mo de swap (un record), en
n'ayant que peu d'applications ouvertes (Mac SOup, Azureus, Aperçu,
Safari, et iPhoto (celui-là, c'est un vrai RAmophage !).


tu m'étonnes, sur les 4096, j'en utilisais 3100 (EN fait il venait juste

de créer le 8ème fichier. J'ai illico redémarré.
--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr


Avatar
pas.de.spam
Pierre-Olivier TAUBATY wrote:

La gestion mémoire a effectivement changé avec Leopard par rapport aux
dernières versions de Tiger. Je n'ai pas encore compris pourquoi je swappe
alors qu'avant je ne swappais pas, mais je suppose que cela vient
indirectement de TimeMachine et donc du cache disque. Ce n'est qu'une piste.
Mais ce swappe est très limité chez moi et est donc ni grave ni "anormal".


Et bien écoute, là c'est extraordinaire, car à peine a-t'il fallu que
j'écrive ce message pour que mon Mac se mette à faire ce qu'il n'avait
jamais fait auparavant. Il utilise 2774 Mo sur les 3072 à sa disposition
et je n'ai toujours qu'un seul fichier de swap de 64 Mo et il n'est pas
utilisé (dixit Menu Meters). Jamais il n'avait fait cela. Chez moi, Time
Machine n'est pas activé (pour le moment)

Encore, plus bizarre, alors même que je n'ai pas ouvert ni fermé

d'applications, la mémoire utilisée est redescendue de presque 2800 à
2000 et quelques, et le fichier de swap de 64 Mo, toujours unique est
maintenant utilisé (à peine 4,8Mo).

Ce comportement est absolument unique depuis que j'utilise Menumeters
pour surveiller la RAM (j'ai toujours un oeil dessus).


--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr


Avatar
Eric Levenez
Le 2/11/07 15:52, dans <1i6ys0b.nvxn3n1so9ozaN%,
« Pierre-Olivier TAUBATY » a écrit :

Eric Levenez wrote:

Le 2/11/07 14:42, dans <1i6yotq.12qv8nv6q9wowN%,

Quelqu'un pourrait-il m'expliquer pourquoi OS X commence à swapper (et


Je pense que tu parles de Mac OS X, je ne pense pas que OS X sur l'iPhone ne
swappe.


Oeuf corse, c'est rare que je l'oublie, surtout lorsque je prévois que
tu vas intervenir ;-)


:-)

de manière importante), bien avant que la mémoire ne soit intégralement
occupée. Typiquement, sur ma machine qui comporte 3 Go de RAM, elle
commence à créer des fichiers supplémentaires de swap alors qu'il reste
entre 800 Mo et 1 Go de RAM libre (constaté grâce à MenuMeters).


La gestion mémoire a effectivement changé avec Leopard par rapport aux
dernières versions de Tiger. Je n'ai pas encore compris pourquoi je swappe
alors qu'avant je ne swappais pas, mais je suppose que cela vient
indirectement de TimeMachine et donc du cache disque. Ce n'est qu'une piste.
Mais ce swappe est très limité chez moi et est donc ni grave ni "anormal".


Et bien écoute, là c'est extraordinaire, car à peine a-t'il fallu que
j'écrive ce message pour que mon Mac se mette à faire ce qu'il n'avait
jamais fait auparavant. Il utilise 2774 Mo sur les 3072 à sa disposition
et je n'ai toujours qu'un seul fichier de swap de 64 Mo et il n'est pas
utilisé (dixit Menu Meters). Jamais il n'avait fait cela. Chez moi, Time
Machine n'est pas activé (pour le moment)


J'ai déjà eu ce genre de comportement, normal, lors de la copie de fichiers.
Le cache disque dans ce cas prend le maximum de RAM pour rendre la main plus
vite. Sans ce comportement, la copie prendrait plus de temps car devrait
pratiquement être synchrone en lecture / écriture.

Que faisais-tu quand le comportement que tu décris est apparu ?

Peux-t'on en conséquence prévoir quel sera le comportement si je passe
la mémoire à 5-6 Go ?


Non, mais plus on a de RAM, plus le système l'utilise, ce qui est "normal".
Le comportement doit donc être identique si on ajoute de la RAM (il faut
quand même un minimum de cette RAM).


Je voulais parler d'une "prévision" du "moment" où il se mettrait à
swapper. Sachant qu'auparavant, il commençait à créer des fichiers alors
qu'il lui restait environ 1 Go de libre (sur 3), je voulais savoir si
l'on pouvait déduire une "règle" des 2/3, ou bien que c'était parce
qu'il ne restait "qu'un seul Go".


Je ne pense pas que la création du fichier de swappe soit faite au moment où
tu le penses. C'est le noyau qui décide cela et prévient dynamic_pager pour
faire ce travail.

Mais apparemment, vu ce qu'il me fait maintenant, je suis très
dubitatif.


La gestion mémoire et le séquencement des processus (priorités) sont les 2
choses les plus durs d'un système d'exploitation.

Ke sais que le swap est une conséquence inévitable de la gestion mémoire
de l'OS,


Non, pas du tout. On peut très bien avoir un système qui ne swappe pas.


LE swap est-il une caractéristique des OS "modernes", enfin moderne
n'est peut-être pas le terme qui convient, sacaht que les Unix ne sont
pas spécialement récents. Peut-être conviendrait-il d'utiliser le terme
"évolué", si tu comprends ce que je veux dire.


Non, le swap n'est qu'une façon d'augmenter la taille de la RAM.

La gestion de la mémoire virtuelle est, elle, plus caractéristique. On peut
très bien avoir un système moderne qui utilise la mémoire virtuelle et qui
ne swappe pas. Si on reste dans le monde Apple, l'OS X de l'iPhone ne swape
pas (à ma connaissance). Je travaille sur du Linux embarqué, et là aussi il
ne swappe pas.

Dans ce monde de l'embarqué, il y a d'autres moyens pour gagner de la RAM,
comme par exemple l'exécution en place (XIP). Le principe est qu'au lieu de
copier le programme du disque (qui est en fait de la flash ou de la ROM), le
système l'exécute directement sur la flash (ou la ROM). C'est nettement plus
lent, mais cela permet de n'utiliser la RAM que pour les données et la pile.
Avec XIP, il n'y a donc pas de swap, et c'est un système moderne, même si
cette méthode était déjà utilisé sur les premiers ordinateurs, et même sur
les premiers Mac.

Hier j'ai quand même réussi à atteindre 4096 Mo de swap (un record), en
n'ayant que peu d'applications ouvertes (Mac SOup, Azureus, Aperçu,
Safari, et iPhoto (celui-là, c'est un vrai RAmophage !).


tu m'étonnes, sur les 4096, j'en utilisais 3100 (EN fait il venait juste

de créer le 8ème fichier. J'ai illico redémarré.


Cela dépends de ce tu entends pas "utilisais". Il faut connaître les valeurs
"wired", "active", "inactive", "used" et "free", et pas juste de "used".

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.



Avatar
Eric Levenez
Le 2/11/07 16:02, dans <1i6yss6.1c3165s45rpt1N%,
« Pierre-Olivier TAUBATY » a écrit :

Encore, plus bizarre, alors même que je n'ai pas ouvert ni fermé
d'applications, la mémoire utilisée est redescendue de presque 2800 à
2000 et quelques,


Si cela vient du cache disque, c'est juste que celui-ci à flushé (écrit) ses
données sur disque.

et le fichier de swap de 64 Mo, toujours unique est
maintenant utilisé (à peine 4,8Mo).

Ce comportement est absolument unique depuis que j'utilise Menumeters
pour surveiller la RAM (j'ai toujours un oeil dessus).


Je ne vois rien d'extraordinaire dans tout cela.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
pas.de.spam
Eric Levenez wrote:

Le 2/11/07 16:02, dans <1i6yss6.1c3165s45rpt1N%,

Encore, plus bizarre, alors même que je n'ai pas ouvert ni fermé
d'applications, la mémoire utilisée est redescendue de presque 2800 à
2000 et quelques,


Si cela vient du cache disque, c'est juste que celui-ci à flushé (écrit) ses
données sur disque.


La mémoire utilisée à baissée de 2800 à 2000, mais le fichier de swap
lui, n'a "gonflé que de 4,8 Mo).

et le fichier de swap de 64 Mo, toujours unique est
maintenant utilisé (à peine 4,8Mo).

Ce comportement est absolument unique depuis que j'utilise Menumeters
pour surveiller la RAM (j'ai toujours un oeil dessus).


Je ne vois rien d'extraordinaire dans tout cela.


Toi, non ! mais moi, oui, car je n'ai jamais vu depuis des années la
mémoire utilisée grimer à 2800 Mo avec une unique fichier de swap à
peine utilisé, ni surtout redescendre à 2000, à la fois sans que le
fichier de swap ne grimpe et surtout alors que l'utilisation de la
machine reste inchangée.
--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr


Avatar
pas.de.spam
Eric Levenez wrote:

Le 2/11/07 15:52, dans <1i6ys0b.nvxn3n1so9ozaN%,


Et bien écoute, là c'est extraordinaire, car à peine a-t'il fallu que
j'écrive ce message pour que mon Mac se mette à faire ce qu'il n'avait
jamais fait auparavant. Il utilise 2774 Mo sur les 3072 à sa disposition
et je n'ai toujours qu'un seul fichier de swap de 64 Mo et il n'est pas
utilisé (dixit Menu Meters). Jamais il n'avait fait cela. Chez moi, Time
Machine n'est pas activé (pour le moment)


J'ai déjà eu ce genre de comportement, normal, lors de la copie de fichiers.
Le cache disque dans ce cas prend le maximum de RAM pour rendre la main plus
vite. Sans ce comportement, la copie prendrait plus de temps car devrait
pratiquement être synchrone en lecture / écriture.

Que faisais-tu quand le comportement que tu décris est apparu ?


2 pages safari ouvertes depuis un bon Moment. Mac Soup ouvert également,
avec de temps en temps récupération des news, aperçu ouvert, mais sans
aucune fenêtre active, et iPhoto ouvert avec une photothèque conséquente
(200 000 photos), avec tri de photos et classement par mots clés. Je
pense qu'une des activités les plpus gourmandes en RAM d'iPhoto est le
stockage en cache des vignettes des photos. Je ne sais pas si tu
l'utilises.


Peux-t'on en conséquence prévoir quel sera le comportement si je passe
la mémoire à 5-6 Go ?


Non, mais plus on a de RAM, plus le système l'utilise, ce qui est "normal".
Le comportement doit donc être identique si on ajoute de la RAM (il faut
quand même un minimum de cette RAM).


Je voulais parler d'une "prévision" du "moment" où il se mettrait à
swapper. Sachant qu'auparavant, il commençait à créer des fichiers alors
qu'il lui restait environ 1 Go de libre (sur 3), je voulais savoir si
l'on pouvait déduire une "règle" des 2/3, ou bien que c'était parce
qu'il ne restait "qu'un seul Go".


Je ne pense pas que la création du fichier de swappe soit faite au moment où
tu le penses. C'est le noyau qui décide cela et prévient dynamic_pager pour
faire ce travail.


Jusqu'à présent, c'était quasiment toujours lorsque l'on as'approchait
de 2 Go utilisés.


Mais apparemment, vu ce qu'il me fait maintenant, je suis très
dubitatif.


La gestion mémoire et le séquencement des processus (priorités) sont les 2
choses les plus durs d'un système d'exploitation.



J'imagine, oui.


tu m'étonnes, sur les 4096, j'en utilisais 3100 (EN fait il venait juste
de créer le 8ème fichier. J'ai illico redémarré.


Cela dépends de ce tu entends pas "utilisais". Il faut connaître les valeurs
"wired", "active", "inactive", "used" et "free", et pas juste de "used".


j'avoue ne pas avoir regardé ...
--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr




Avatar
Eric Levenez
Le 2/11/07 16:44, dans <1i6yugi.uctqjotyas6eN%,
« Pierre-Olivier TAUBATY » a écrit :

Toi, non ! mais moi, oui, car je n'ai jamais vu depuis des années la
mémoire utilisée grimer à 2800 Mo avec une unique fichier de swap à
peine utilisé, ni surtout redescendre à 2000, à la fois sans que le
fichier de swap ne grimpe et surtout alors que l'utilisation de la
machine reste inchangée.


Je ne comprends pas vraiment le problème. Le système utilise un maximum de
RAM et swappe un minimum.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
pas.de.spam
Eric Levenez wrote:

Le 2/11/07 16:44, dans <1i6yugi.uctqjotyas6eN%,

Toi, non ! mais moi, oui, car je n'ai jamais vu depuis des années la
mémoire utilisée grimer à 2800 Mo avec une unique fichier de swap à
peine utilisé, ni surtout redescendre à 2000, à la fois sans que le
fichier de swap ne grimpe et surtout alors que l'utilisation de la
machine reste inchangée.


Je ne comprends pas vraiment le problème. Le système utilise un maximum de
RAM et swappe un minimum.


Je ne dis pas qu'il y ait un problème, je dis simplement, que JAMAIS je
n'avais eu ce comportement depuis des années, que ce soit une
utilisation de 2800 Mo sans création de fichier de swap supplémentaire,
ou une redescente de plus de 800 Mo de la mémoire utilisée sans non plus
création de fichier de swap supplémentaire, ni écriture dasn le swap
c'est tout.

Au moment où je te parles, l'utilisation du swap a grimpé d'un seul coup
de 1 fichier (20 et quelques Mo utilisée) à 6 fichiers totalisant 2048
Mo (pour 1092 Mo utilisés). Le disque a mouliné pendant plusieurs
minutes. Et toujours pour la même utilisation, sans avoir ouvert
d'autres applications, ni refermé. Un peu comme si d'un seul coup, cela
s'était "réveillé".

le résultat de top à l'issue :

PhysMem: 231M wired, 1737M active, 760M inactive, 2727M used, 344M
free.
VM: 7745M + 127M 799931(1) pageins, 113769(0) pageouts
--
PO.

Pour m'écrire : po_taubaty(arobas)yahoo(point)fr


Avatar
Eric Levenez
Le 2/11/07 17:19, dans <1i6yw4n.9rpcq31us0i9nN%,
« Pierre-Olivier TAUBATY » a écrit :

Au moment où je te parles, l'utilisation du swap a grimpé d'un seul coup
de 1 fichier (20 et quelques Mo utilisée) à 6 fichiers totalisant 2048
Mo (pour 1092 Mo utilisés).


Il faudrait voir si cela vient du cache disque ou d'une application qui
grossit. Tu veux voir cela en regardant avec top si un programme a son RSIZE
ou VSIZE qui augmente au moment du swap.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

1 2 3