OVH Cloud OVH Cloud

doc gestion swap

17 réponses
Avatar
Laurent PERON
Salut à tous,

Venant du monde linux, je vois
que macosX ne gère pas du tout le swap (mémoire virtuelle)
comme linux.

Savez vous où je peux trouver des infos sur la facon
dont Darwin gère la mémoire et la mémoire virtuelle ?

Merci

LaP

10 réponses

1 2
Avatar
Schmurtz
Laurent PERON wrote:

Venant du monde linux, je vois
que macosX ne gère pas du tout le swap (mémoire virtuelle)
comme linux.

Savez vous où je peux trouver des infos sur la facon
dont Darwin gère la mémoire et la mémoire virtuelle ?


Tout ce que je sais, c'est qu'il stocke le swap dans des fichiers et non
dans une partition. Il crée un fichier de 64Mo au début, puis s'il à
besoin de plus de place un deuxième de 64Mo, puis un troisième de 128Mo
puis un quatrième de 256 puis un cinquième de 512Š En théorie, il
devrait supprimer les fichiers lorsque que le besoin diminue, mais il ne
semble pas le faire.

L'activation du swap s'effectue dans le fichier /etc/rc à l'aide de la
commande dynamic_pager.

Pour la doc technique du fonctionnement du swap, faut regarder dans la
doc de Mach, le noyau de MacOS X.

--
Schmurtz

Avatar
TNK
Salut à tous,

Venant du monde linux, je vois
que macosX ne gère pas du tout le swap (mémoire virtuelle)
comme linux.

Savez vous où je peux trouver des infos sur la facon
dont Darwin gère la mémoire et la mémoire virtuelle ?

Merci

LaP


heuhhhhh, tu as "vu que OSX ne gère pas du tout le swap" de quelle
manière???
renseigne toi un peu avant de dire des grosses bêtises!! :-) du genre
"mémoire virtuelle OSX" dans google

c'est un BSD qui tourne sous le capot de OSX, avec tous les avantages,
dont la gestion mémoire et mémoire virtuelle.

la mémoire virtuelle est dans /var/vm et créée dynamiquement par OSX en
fonction des besoins, pour plus de détails, et bien tu peux lire les
sources du noyau de BSD... :)

Commence par lancer "top" dans un terminal, tu auras quelques infos (VM=
virtual memory, les pages in et out)

Télécharge le petit logiciel menumeters (gratuit)
http://www.ragingmenace.com/software/menumeters/ et tu auras des infos
sur la charge CPU, la mémoire, les débits aux interfaces réseau sans
passer par le terminal

Avatar
TNK
Laurent PERON wrote:


Venant du monde linux, je vois
que macosX ne gère pas du tout le swap (mémoire virtuelle)
comme linux.

Savez vous où je peux trouver des infos sur la facon
dont Darwin gère la mémoire et la mémoire virtuelle ?



Tout ce que je sais, c'est qu'il stocke le swap dans des fichiers et non
dans une partition. Il crée un fichier de 64Mo au début, puis s'il à
besoin de plus de place un deuxième de 64Mo, puis un troisième de 128Mo
puis un quatrième de 256 puis un cinquième de 512Š En théorie, il
devrait supprimer les fichiers lorsque que le besoin diminue, mais il ne
semble pas le faire.

L'activation du swap s'effectue dans le fichier /etc/rc à l'aide de la
commande dynamic_pager.

Pour la doc technique du fonctionnement du swap, faut regarder dans la
doc de Mach, le noyau de MacOS X.



un point de départ: http://www.kernelthread.com/mac/osx/arch_xnu.html


Avatar
listes2
TNK wrote:

heuhhhhh, tu as "vu que OSX ne gère pas du tout le swap" de quelle
manière???


Faut tout lire: ne pas confondre "ne gère pas du tout" et "ne gère pas
du tout COMME LINUX". C'est pas pareil...

--
Olivier Goldberg, étudiant, macaddict, plongeur CMAS ***
Pour le courrier personnel, écrire à:
olivier (arobase) ogoldberg (point) net
AIM/iChat/Skype: Nept47

Avatar
Eric Lévénez
Le 14/12/04 10:50, dans <cpn26k$t8b$, « Schmurtz »
a écrit :

Laurent PERON wrote:

Venant du monde linux, je vois
que macosX ne gère pas du tout le swap (mémoire virtuelle)
comme linux.



Mac OS X a le même comportement que Linux (configuration par défaut sur la
plupart des distributions) en ce qui concerne l'allocation de la mémoire
virtuelle : si on alloue N pages de mémoire (par malloc par exemple), ces
pages ne seront allouées que lors de leurs premières utilisations (et pas
dès le départ). Cela évite de swapper dès le début lors de grosses
allocations (obligatoire pour certains programmes scientifiques), mais cela
a pour conséquence que le programme peut planter si au moment de
l'utilisation de cette mémoire il n'y a plus de place (en RAM et sur
disque).

Savez vous où je peux trouver des infos sur la facon
dont Darwin gère la mémoire et la mémoire virtuelle ?


Tout ce que je sais, c'est qu'il stocke le swap dans des fichiers et non
dans une partition. Il crée un fichier de 64Mo au début, puis s'il à
besoin de plus de place un deuxième de 64Mo, puis un troisième de 128Mo
puis un quatrième de 256 puis un cinquième de 512Š En théorie, il
devrait supprimer les fichiers lorsque que le besoin diminue, mais il ne
semble pas le faire.


Si, il supprime les fichiers dès que la dernière page du fichier a été
désalouée (sauf pour le premier fichier qui est toujours présent). Le
problème est la fragmentation de la mémoire qui fait qu'il peut rester une
page dans un fichier swap prise par un programme lancé depuis longtemps.
Parfois en se déloggant/reloggant cela arrête les gros programmes et donc
libère certains fichiers swap. Parfois ce sont des programmes systèmes (des
démons) qui ont swappés, et donc le plus simple est de rebooter si on désire
faire le ménage. Supprimer les fichiers de swap (par un rm ou un outils
graphique) ne sert à rien car les fichiers sont utilisés et donc leurs blocs
ne sont pas libérés).

L'activation du swap s'effectue dans le fichier /etc/rc à l'aide de la
commande dynamic_pager.

Pour la doc technique du fonctionnement du swap, faut regarder dans la
doc de Mach, le noyau de MacOS X.


Pour info, Mac OS X 10.3 ne gère pas le swap exactement comme Mac OS X 10.2.

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


Avatar
Laurent PERON

heuhhhhh, tu as "vu que OSX ne gère pas du tout le swap" de quelle
manière???
renseigne toi un peu avant de dire des grosses bêtises!! :-) du genre
"mémoire virtuelle OSX" dans google


par exemple, il n'utilise pas une ou des partitions de swap, mais
des fichiers de swap, crées selon les besoins du "système"
(je dis système car ne je sais pas encore comment c'est agencé
entre le "micro noyau mach" et "le reste").
(d'ailleurs, c'est quoi "le reste" ? :) )

Ensuite, j'ai lu à plusieurs reprises que même avec beaucoup de ram,
et même si les applis lancées utilisent moins d'espace que la ram
physiquement disponible, le système va quand même utiliser
le swap. Je ne suis pas contre cette façon de faire, mais
j'aimerais bien comprendre le pourquoi et le comment,
par curiosité.

Finalement, si je pose la question ici, c'est bien pour être
renseigné :)

LaP

Avatar
patpro ~ patrick proniewski
In article <41bedb86$0$32418$,
Laurent PERON wrote:


heuhhhhh, tu as "vu que OSX ne gère pas du tout le swap" de quelle
manière???
renseigne toi un peu avant de dire des grosses bêtises!! :-) du genre
"mémoire virtuelle OSX" dans google


par exemple, il n'utilise pas une ou des partitions de swap, mais
des fichiers de swap, crées selon les besoins du "système"



ce n'est pas très significatif comme différence, il est possible de
faire la meme chose sur Linux ou FreeBSD par exemple, et a l'inverse, il
me semble qu'il est aussi possible de swaper sur une partition avec
MacOS X.

Ensuite, j'ai lu à plusieurs reprises que même avec beaucoup de ram,
et même si les applis lancées utilisent moins d'espace que la ram
physiquement disponible, le système va quand même utiliser
le swap. Je ne suis pas contre cette façon de faire, mais
j'aimerais bien comprendre le pourquoi et le comment,
par curiosité.


il créé un fichier swap quoi qu'il arrive, mais il ne va pas
nécessairement s'en servir (pagein/pageout).


patpro


Avatar
Laurent PERON

il créé un fichier swap quoi qu'il arrive, mais il ne va pas
nécessairement s'en servir (pagein/pageout).


Ca n'est pas ce que j'ai lu ici.
Je vais regarder les pagein/pageout pour voir.

LaP

Avatar
Stephane Dupille
c'est un BSD qui tourne sous le capot de OSX, avec tous les avantages,
dont la gestion mémoire et mémoire virtuelle.


Euh non. C'est un Darwin architecturé autours d'un micro-noyau MACH.
C'est peut-être inspiré d'un BSD, mais ce n'est pas à proprement parler
un BSD.

De fait, la gestion de la mémoire peut différer entre un FreeBSD et
un Darwin.

--
FF> Tout le plaisir est pour moi.
FF> Vous payez par carte bancaire ?
Non, par inadvertance.
-+- OZ in <http://www.le-gnu.net> : Reponse hamster à terre -+-

Avatar
patpro ~ patrick proniewski
In article ,
"Stephane Dupille" <sdupille+ wrote:

C'est un Darwin architecturé autours d'un micro-noyau MACH.
C'est peut-être inspiré d'un BSD, mais ce n'est pas à proprement parler
un BSD.

De fait, la gestion de la mémoire peut différer entre un FreeBSD et
un Darwin.


et en fait elle diffère bien, la gestion de la mémoire de MacOS X est
nettement plus proche de celle de NextStep d'après ce que j'ai pu lire
sur la question (sauf erreur de ma part).

patpro

1 2