OVH Cloud OVH Cloud

La mémoire virtuelle

10 réponses
Avatar
bernard tatin
Bonjour,

Habitué de Linux, FreeBSD et aussi Windows, je suis vraiment surpris
lorsque le moniteur d'activité m'indique 'Taille MV : 3.13 Go'.
kernel_task, dans la colonne 'Mémoire réelle' utilise 49-50 Mo et dans
la colonne 'Mémoire', 580-590 Mo.

Est-ce bien normal ? Je suis plutot habitué à des tailles de mémoire
virtuelle de l'ordre de 2 ou 3 fois la taille de la RAM, pas 6 fois.

J'ai un eMac 1.25 GHz, 512 Mo de Ram et MacOS 10.3.4.

Si quelqu'un pouvait me rassurer !

Merci.

Bernard

10 réponses

Avatar
Eric Lévénez
Le 1/07/04 21:14, dans <NoZEc.1037$, « bernard
tatin » a écrit :

Habitué de Linux, FreeBSD et aussi Windows, je suis vraiment surpris
lorsque le moniteur d'activité m'indique 'Taille MV : 3.13 Go'.
kernel_task, dans la colonne 'Mémoire réelle' utilise 49-50 Mo et dans
la colonne 'Mémoire', 580-590 Mo.

Est-ce bien normal ?


Oui, c'est "normal".

Je suis plutot habitué à des tailles de mémoire
virtuelle de l'ordre de 2 ou 3 fois la taille de la RAM, pas 6 fois.


Quelle importance ? Ce n'est que de la mémoire virtuelle. De plus il n'y a
pas de rapport entre la RAM et la taille de la mémoire virtuelle. Que tu
aies 128 Mo de RAM ou 512 Mo ou 1 Go, la taille de la mémoire virtuelle sera
toujours la même.

J'ai un eMac 1.25 GHz, 512 Mo de Ram et MacOS 10.3.4.


Mac OS est la version < 10, Mac OS X est la version >= 10.
On dit donc "Mac OS X 10.3.4"

Si quelqu'un pouvait me rassurer !


"Ce que tu as est tout à fait normal" :-)

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

Avatar
bernard tatin
Eric Lévénez wrote:

Le 1/07/04 21:14, dans <NoZEc.1037$, « bernard


Habitué de Linux, FreeBSD et aussi Windows, je suis vraiment surpris
lorsque le moniteur d'activité m'indique 'Taille MV : 3.13 Go'.
kernel_task, dans la colonne 'Mémoire réelle' utilise 49-50 Mo et dans
la colonne 'Mémoire', 580-590 Mo.

Est-ce bien normal ?



Oui, c'est "normal".


Je suis plutot habitué à des tailles de mémoire
virtuelle de l'ordre de 2 ou 3 fois la taille de la RAM, pas 6 fois.



Quelle importance ? Ce n'est que de la mémoire virtuelle. De plus il n'y a
pas de rapport entre la RAM et la taille de la mémoire virtuelle. Que tu
aies 128 Mo de RAM ou 512 Mo ou 1 Go, la taille de la mémoire virtuelle sera
toujours la même.

L'importance ? C'est peut-être le signe d'un problème insidieux - une

tâche qui grignote de la resource inutilement.

J'ai pas bien posé ma question.

Est-ce que chez les camarades d'Apple il y a équivalence entre Mémoire
Virtuelle et Swap ? Si oui, c'est bien la première fois que j'utilise
une machine qui fait autant de swap. Sinon, comment faire pour
déterminer la taille du swap ? Ca peut conditionner ma gestion du disque
dur.

Et le rapport entre swap - j'ai pas dis mémoire virtuelle - et RAM,
c'est qu'on calcule souvent une taille de swap maximum de x fois la
taille de la RAM. Sous Windows, x est environ 2,5 voire 3 pour un bon
fonctionnement.


J'ai un eMac 1.25 GHz, 512 Mo de Ram et MacOS 10.3.4.



Mac OS est la version < 10, Mac OS X est la version >= 10.
On dit donc "Mac OS X 10.3.4"

OK.


Si quelqu'un pouvait me rassurer !



"Ce que tu as est tout à fait normal" :-)



Merci, je vais mieux dormir cette nuit.

Bernard.


Avatar
Eric Lévénez
Le 1/07/04 23:15, dans <T9%Ec.1068$, « bernard
tatin » a écrit :

Eric Lévénez wrote:

Quelle importance ? Ce n'est que de la mémoire virtuelle. De plus il n'y a
pas de rapport entre la RAM et la taille de la mémoire virtuelle. Que tu
aies 128 Mo de RAM ou 512 Mo ou 1 Go, la taille de la mémoire virtuelle sera
toujours la même.

L'importance ? C'est peut-être le signe d'un problème insidieux - une

tâche qui grignote de la resource inutilement.


Cela se verrait dans la mémoire physique allouée et dans le swap utilisé,
pas dans la mémoire virtuelle.

J'ai pas bien posé ma question.


Je pense aussi :-)

Est-ce que chez les camarades d'Apple il y a équivalence entre Mémoire
Virtuelle et Swap ?


Comme sur AIX par exemple ? Non. Le swap est indépendant de la mémoire
virtuelle.

Si oui, c'est bien la première fois que j'utilise
une machine qui fait autant de swap.


Effectivement Mac OS X utilise beaucoup de RAM et quand il n'y en a pas
assez, cela swappe. Et comme la gestion du swap est, heu..., améliorable,
certains arrivent à avoir un swap gigantesque. Mac OS X 10.3 peut prendre
plus de fichiers swap que Mac OS X 10.2 car ses règles d'allocation et de
libération de ces fichiers swap sont différentes.

Sinon, comment faire pour
déterminer la taille du swap ?


Le swap est enregistré dans des fichiers dans /var/vm. Il y a toujours un
fichier créé, même s'il n'est pas utilisé. En faisant la somme de ces
fichiers on a la taille max du swap. Mais Mac OS X ne fournit pas, à ma
connaissance, de commande pour connaître la taille exacte utilisée dans le
swap.

Ca peut conditionner ma gestion du disque
dur.


Si tu swappes beaucoup, et si tu as 2 disques durs toujours présents, alors
tu pourrais envisager la possibilité de placer le swap sur le second disque.
Sinon ne fais rien.

Et le rapport entre swap - j'ai pas dis mémoire virtuelle - et RAM,
c'est qu'on calcule souvent une taille de swap maximum de x fois la
taille de la RAM.


C'est une habitude très ancienne. Il y a 20 ans, quand unix en était encore
à une gestion de mémoire segmentée, c'était en effet la règle dans les
milieux des unixiens. Maintenant la mémoire est paginée et cette règle a
disparue, sauf sur des systèmes spéciaux comme AIX (ou Windows). Sous unix,
en général, la règle est de prendre la somme de la mémoire tous les
programmes qui tournent + une bonne marge et le résultat est la taille de la
RAM plus le swap.

Sur Mac OS X il n'y a pas de partition de swap mais des fichiers swap. Il
faut donc toujours de la place libre sur /, et une bonne place.

Sous Windows, x est environ 2,5 voire 3 pour un bon
fonctionnement.


Windows n'est pas unix et donc n'est pas Mac OS X. Heureusement pour nous.

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


Avatar
bernard tatin
Eric Lévénez wrote:

Le 1/07/04 23:15, dans <T9%Ec.1068$, « bernard


Eric Lévénez wrote:


---



J'ai pas bien posé ma question.



Je pense aussi :-)

Je ferais mieux la prochaine fois.


Est-ce que chez les camarades d'Apple il y a équivalence entre Mémoire
Virtuelle et Swap ?



Comme sur AIX par exemple ? Non. Le swap est indépendant de la mémoire
virtuelle.

Les camarades d'Apple utilisent bien le bon vocabulaire au bon endroit,

contrairement à ie d'autres. Mais finalement, il ne donnent pas le
renseignement le plus intéressant.


Sinon, comment faire pour
déterminer la taille du swap ?



Le swap est enregistré dans des fichiers dans /var/vm. Il y a toujours un
fichier créé, même s'il n'est pas utilisé. En faisant la somme de ces
fichiers on a la taille max du swap. Mais Mac OS X ne fournit pas, à ma
connaissance, de commande pour connaître la taille exacte utilisée dans le
swap.

LeMac:~ narberd$ sudo du -h /var/vm/

1.3M /var/vm//app_profile
257M /var/vm/

C'est pas top mais ça donne une idée. Et ça me rassure vraiment.

Si tu swappes beaucoup, et si tu as 2 disques durs toujours présents, alors
tu pourrais envisager la possibilité de placer le swap sur le second disque.
Sinon ne fais rien.

1 seul disque ...



.....




Sous Windows, x est environ 2,5 voire 3 pour un bon
fonctionnement.



Windows n'est pas unix et donc n'est pas Mac OS X. Heureusement pour nous.

Pleins d'années avec dos et windows, ça laisse des traces ...



Merci et bonne nuit, à c't'heure.

Bernard.


Avatar
Eric Lévénez
Le 2/07/04 1:06, dans <cO0Fc.1098$, « bernard
tatin » a écrit :

Eric Lévénez wrote:

Comme sur AIX par exemple ? Non. Le swap est indépendant de la mémoire
virtuelle.

Les camarades d'Apple utilisent bien le bon vocabulaire au bon endroit,

contrairement à ie d'autres. Mais finalement, il ne donnent pas le
renseignement le plus intéressant.


Normalement sur une question claire, je réponds clairement. Enfin je pense.

LeMac:~ narberd$ sudo du -h /var/vm/
1.3M /var/vm//app_profile
257M /var/vm/

C'est pas top mais ça donne une idée. Et ça me rassure vraiment.


Et à propos de top, la commande "top", donne des infos qui peuvent
t'intéresser. Il y a en particulier le pageouts qui est le nombre de pages
mémoire de 4 ko qui ont été swappées. Cela n'indique pas la taille du swap
(car la même page peut être swappé out, puis in, puis oui...) mais cela est
un complément à l'action de regarder le nombre de fichiers de swap. Si l'on
a 10(0) dans pageouts, cela indique que depuis le boot il y a eu 10
écritures (dont 0 dans la dernière seconde); si l'on a 123456(23), là c'est
grave car on a swappé beaucoup et que l'on continue. On peut alors voir avec
"top" un "+" s'affiché en fin de ligne sur le process qui grossit.

Il y a certains programmes sous Mac OS X qui peuvent conserver de la mémoire
au lieu de la rendre, et dans le cas d'un swap important, pour récupérer la
place, le plus simple est de rebooter (les fichiers swap sont effacés).
Parfois en se déloggant et en se reloggant (Pomme-Shift-Q du Finder), cela
arrête tous les gros programmes et cela libère parfois des fichiers swap.

Si tu swappes beaucoup, et si tu as 2 disques durs toujours présents, alors
tu pourrais envisager la possibilité de placer le swap sur le second disque.
Sinon ne fais rien.

1 seul disque ...



Alors ne modifie pas l'emplacement du swap.

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


Avatar
JmG
Eric Lévénez wrote:

Effectivement Mac OS X utilise beaucoup de RAM et quand il n'y en a pas
assez, cela swappe. Et comme la gestion du swap est, heu..., améliorable,


Hoooo... quel bel euphémisme.... c'est fout ce que Mac OSX autorise de
poésie, au fond (et à gauche).


--
Le génie fait ce qu'il doit.
Le talent fait ce qu'il peut.

Avatar
Eric Lévénez
Le 2/07/04 8:35, dans <1ggahg2.1m1dac81v7rc7oN%,
« JmG » a écrit :

Eric Lévénez wrote:

Effectivement Mac OS X utilise beaucoup de RAM et quand il n'y en a pas
assez, cela swappe. Et comme la gestion du swap est, heu..., améliorable,


Hoooo... quel bel euphémisme.... c'est fout ce que Mac OSX autorise de
poésie, au fond (et à gauche).


Pour un nouveau venu, je ne pouvais quand même pas lui dire que la gestion
du swap de Mac OS X est une grosse daube voire un gros gruyère ! Cela il le
verra de lui-même :-)

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


Avatar
bernard tatin
Eric Lévénez wrote:
Le 2/07/04 8:35, dans <1ggahg2.1m1dac81v7rc7oN%,


Eric Lévénez wrote:


Effectivement Mac OS X utilise beaucoup de RAM et quand il n'y en a pas
assez, cela swappe. Et comme la gestion du swap est, heu..., améliorable,


Hoooo... quel bel euphémisme.... c'est fout ce que Mac OSX autorise de
poésie, au fond (et à gauche).



Pour un nouveau venu, je ne pouvais quand même pas lui dire que la gestion
du swap de Mac OS X est une grosse daube voire un gros gruyère ! Cela il le
verra de lui-même :-)




Le swap de MacOS X est peut-être daubique, mais alors celui de WinDôzze,
il est comment ? XCode + Eclipse + Mozilla + Terminal + Interface
Builder + Safari + Emacs + moniteur d'activité + Mail et tout se passe
normalement, pas d'activité disque importante lors du passage d'une
appli à l'autre. Les pageins/outs dans 'top' ne bougent que très
modérément et au bon moment - je fais quand même des compilations Java
et Objective-C. Et j'obtiens :
LeMac:~ narberd$ sudo du -h /var/vm/
1.6M /var/vm//app_profile
66M /var/vm/
WinDôzze me bouffe toujours plus que ça en swap.

Peut-être que la pratique m'amènera à réviser mon opinion.

Et merci encore pour les tuyaux.

Bernard



Avatar
Eric Lévénez
Le 2/07/04 16:12, dans <i3eFc.1231$, « bernard
tatin » a écrit :

Le swap de MacOS X est peut-être daubique, mais alors celui de WinDôzze,
il est comment ?


Le swap de Mac OS X (note le blanc entre Mac et OS) est daubique
(daubesque?) pour un unix, mais il sera toujours mieux que celui de Windows.

Le problème avec la façon de swapper de Mac OS X, c'est que celui-ci est
géré comme une pile lifo. Donc quand on swappe le système le fait à la fin
du fichier (ou des fichiers), mais n'utilise pas les éventuelles trous
laissés par des libérations (swapin) de blocs. Pour libérer il faut que tous
les blocs soient libérés sur la fin du fichier. C'est un peu comme Tétris
quand on a une ligne complète... Le système peut aussi prendre l'initiative
de réécrire les fichiers swaps en supprimant les trous quand ceux-ci sont
trop grands, et cela peut fortement ralentir la machine quand ça se
déclanche (enfin c'est que certains ont reporté ici).

Si tu veux régler ce comportement plus finement, il faut modifier les
paramètres du programme dynamic_pager lancé dans /etc/rc.

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

Avatar
bernard tatin
Eric Lévénez wrote:
Le 2/07/04 16:12, dans <i3eFc.1231$, « bernard


Le swap de MacOS X est peut-être daubique, mais alors celui de WinDôzze,
il est comment ?



Le swap de Mac OS X (note le blanc entre Mac et OS)
OK


est daubique
(daubesque?) pour un unix, mais il sera toujours mieux que celui de Windows.

Le problème avec la façon de swapper de Mac OS X, c'est que celui-ci est
géré comme une pile lifo. Donc quand on swappe le système le fait à la fin
du fichier (ou des fichiers), mais n'utilise pas les éventuelles trous
laissés par des libérations (swapin) de blocs. Pour libérer il faut que tous
les blocs soient libérés sur la fin du fichier. C'est un peu comme Tétris
quand on a une ligne complète... Le système peut aussi prendre l'initiative
de réécrire les fichiers swaps en supprimant les trous quand ceux-ci sont
trop grands, et cela peut fortement ralentir la machine quand ça se
déclanche (enfin c'est que certains ont reporté ici).

Je comprends bien le phénomène.


Si tu veux régler ce comportement plus finement, il faut modifier les
paramètres du programme dynamic_pager lancé dans /etc/rc.

J'ai trouvé et mon ManOpen - une appli vraiment géniale - me permet de

voir un peu mieux de quoi il retourne.

Mac OS X est un système vraiment génial. A l'installation d'un Linux ou
d'un FreeBSD, on doit faire une partition de swap. Ici, l'intallation se
fait comme on démarre une voiture d'aujourd'hui, pas besoin de prendre
une manivelle - comme j'ai vu mon père le faire sur une 203 - en cas de
gel. La surprise fait que j'ai oublié que j'ai acheté mon bel eMac parce
que le système est un bel Unix. Ce n'est qu'après quelques jours
d'utilisation que je me suis posé les questions vraiment système. Il
n'empêche que je suis toujours sous le charme.

Bernard.