Mémoire sous parallels

Le
Saïd
Bonjour,

Est-ce aue la memoire que l'on attribue a une machine virtuelle est
physiquement perdue pour tous les logiciels qui tournent sous mac OS X?
Ou alors peut-elle etre swappee par mac OS X si celui-ci le juge utile
(comme toute memoire allouee par un processus traditionnel)?

C'est pour savoir si je peux alloue 1Go (sur 2) a ma machine linux sans
pertes de performances (tant que la machine virtuelle ne fait rien).

--
Said.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric Levenez
Le #2474341
Le 11/08/07 9:58, dans
Est-ce aue la memoire que l'on attribue a une machine virtuelle est
physiquement perdue pour tous les logiciels qui tournent sous mac OS X?
Ou alors peut-elle etre swappee par mac OS X si celui-ci le juge utile
(comme toute memoire allouee par un processus traditionnel)?


Cela doit dépendre du simulateur de PC : VirtualPC, Vwware...

Par exemple avec Virtual PC, j'ai un Windows déclaré utilisé 512 Mo. Une
fois lancé, Virtual PC a pris 580 Mo de RAM sur les 971 Mo virtuelle
assignée. Si un processus a besoin de RAM le système pourra swapper des
pages dans les 580 Mo de VirtualPC.

Pour voir ton cas, lance le moniteur d'activité et regarde la "taille
réelle" prise en RAM.

C'est pour savoir si je peux alloue 1Go (sur 2) a ma machine linux sans
pertes de performances (tant que la machine virtuelle ne fait rien).


Bien sûr qu'il y aura des pertes de performance. Si un programme s'est
alloué X Mo en RAM, ce sont x Mo qui ne seront pas utilisé par les autres
programmes et pour vraiment les utiliser il faudra les swapper sur disque,
ce qui est obligatoirement une perte de performance.

--
Éric Lévénez -- Unix is not only an OS, it's a way of life.

Saïd
Le #2474301
Eric Levenez :
Le 11/08/07 9:58, dans
Est-ce aue la memoire que l'on attribue a une machine virtuelle est
physiquement perdue pour tous les logiciels qui tournent sous mac OS X?
Ou alors peut-elle etre swappee par mac OS X si celui-ci le juge utile
(comme toute memoire allouee par un processus traditionnel)?


Cela doit dépendre du simulateur de PC : VirtualPC, Vwware...

Par exemple avec Virtual PC, j'ai un Windows déclaré utilisé 512 Mo. Une
fois lancé, Virtual PC a pris 580 Mo de RAM sur les 971 Mo virtuelle
assignée. Si un processus a besoin de RAM le système pourra swapper des
pages dans les 580 Mo de VirtualPC.



Si tu pouvais m'expliquer la difference memoire reelle et virtuelle, stp.
par exemple je ne comprends pas pourquoi virtual PC aurait demande presque
le double de memoire? Est-ce un malloc?

Si je
fais
buf=malloc(3Go);

et que je n'ecris rien dans buf, les 3Go seront notes comme virtuels pour le
processus en question?

Pour voir ton cas, lance le moniteur d'activité et regarde la "taille
réelle" prise en RAM.


448Mo alors que j'ai alloue 512. C'est bon signe?


C'est pour savoir si je peux alloue 1Go (sur 2) a ma machine linux sans
pertes de performances (tant que la machine virtuelle ne fait rien).


Bien sûr qu'il y aura des pertes de performance. Si un programme s'est
alloué X Mo en RAM, ce sont x Mo qui ne seront pas utilisé par les autres
programmes et pour vraiment les utiliser il faudra les swapper sur disque,
ce qui est obligatoirement une perte de performance.



Oui. Mais c'est juste une fois. La machine virtuelle pourra passer des
jours sans etre utilisee, ce qui fait que je n'aurai pas a m'en soucier si
elle n'accapare pas definitivement de la RAM physique.

--
Said.


Saïd
Le #2474261
Saïd :

Par exemple avec Virtual PC, j'ai un Windows déclaré utilisé 512 Mo. Une
fois lancé, Virtual PC a pris 580 Mo de RAM sur les 971 Mo virtuelle
assignée. Si un processus a besoin de RAM le système pourra swapper des
pages dans les 580 Mo de VirtualPC.



Si tu pouvais m'expliquer la difference memoire reelle et virtuelle, stp.
par exemple je ne comprends pas pourquoi virtual PC aurait demande presque
le double de memoire? Est-ce un malloc?

Si je
fais
buf=malloc(3Go);

et que je n'ecris rien dans buf, les 3Go seront notes comme virtuels pour le
processus en question?



La par exemple un petit utilitaire 5qui passe par rosetta) a 450Mo de
memoire virtuelle, je ne crois pas que ce petit programme ait demande autant
de memoie. (Il s'agit de Spark, qui ajoute des raccourcis clavier et aussi
PTHPasstBoard qui garde en memoire les dix dernier "copier" accapare autant
de memoire virtuelle).

--
Said.


Eric Levenez
Le #2490811
Le 11/08/07 10:39, dans
Si tu pouvais m'expliquer la difference memoire reelle et virtuelle, stp.


Alors pour faire très rapide (une 36001ème fois) :

La mémoire virtuelle est la mémoire demandée par un processus et la réelle
et celle que le système lui a physiquement en RAM alloué.

par exemple je ne comprends pas pourquoi virtual PC aurait demande presque
le double de memoire? Est-ce un malloc?


Pas forcément. Quand un programme utilise une bibliothèque, c'est pour
quelques fonctions, pas pour la totalité des fonctions de celle-ci. Mais
c'est tout l'espace mémoire (virtuelle) de la bibliothèque qui est mappée
dans l'espace d'adressage du programme.

Si je
fais
buf=malloc(3Go);

et que je n'ecris rien dans buf, les 3Go seront notes comme virtuels pour le
processus en question?


Toute la mémoire d'un processus est virtuelle pas uniquement celle qui n'est
pas en RAM.

Si tu alloues de la mémoire (pas un malloc ou par un link à une
bibliothèque), celle-ci est mappée dans la mémoire virtuelle. Mais tant que
l'on n'écrit pas dedans, elle ne sera pas attribuée physiquement en RAM (cas
des données) ou copier de la bibliothèque depuis le disque (cas du code
exécutable).

Pour voir ton cas, lance le moniteur d'activité et regarde la "taille
réelle" prise en RAM.


448Mo alors que j'ai alloue 512. C'est bon signe?


Pourquoi ne serait-ce pas bon ?

Dans ton cas cela dépend aussi du Linux qui tourne dans la mémoire qui lui
est allouée: si il boucle sur toute la RAM pour l'initialiser, alors elle
sera allouée physiquement.

Enfin la théorie est celle-là. Dans la pratique c'est légèrement différent.
Un petit programme qui fait un malloc de 2 Go, la commande "top" donne :

PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE
6423 a 0.0% 0:00.00 1 13 19 128K 428K 672K 2.03G

On voit que le VSIZE (taille virtuelle du programme) est bien de 2 Go (plus
les bibliothèques), mais la RAM (RSIZE) n'est que de 372 ko. Normal.

Le même programme qui initialise la mémoire allouée avec des valeurs
aléatoires :

PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE
6431 a 0.0% 0:12.24 1 13 19 2.00G 428K 2.00G 2.03G

Là la RAM (RSIZE) est bien allouée et utilisée. Normal.

Ce que je ne comprends pas c'est dans le cas où l'on relance le programme :

PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE
6434 a 0.0% 0:11.79 1 13 19 2.00G 428K 1.69G 2.03G

Il manque 310 Mo en RAM, et pourtant les 2 Go alloués sont bien utilisés. La
taille virtuelle est bonne. Le temps CPU est aussi plus petit pour
initialiser cette RAM (comme si toute la RAM mallocée n'étaient pas
utilisée, et portant elle l'est).

Ce que je suppose c'est que les 300 Mo sont mappés dans les pages inactives.
Le système a peut-être vu que les nouvelles pages étaient toujours en RAM en
regardant leurs contenus... Cela me semble douteux, mais je n'ai pas
d'autres d'explications.

--
Éric Lévénez -- Unix is not only an OS, it's a way of life.


h.sainct
Le #2511341
Saïd
C'est pour savoir si je peux alloue 1Go (sur 2) a ma machine linux sans
pertes de performances (tant que la machine virtuelle ne fait rien).


je ne connais pas la réponse précise à ta question, mais je peux te dire
qu'avec 2Go ici et un alloué à Parallels, et (en outre) en cochant le
réglage dans Parallels qui dit de laisser priorité au mac, je ne vois
absolument aucun ralentissement du mac (j'ai la dernière version de
Parallels, en anglais)

--
Frédérique & Hervé Sainct, [fr,es,en,it]
Frédérique's initial is missing in front of the above address
l'initiale de Frédérique manque devant l'adresse email ci-dessus

Saïd
Le #2511321
Frédérique & Hervé Sainct :
Saïd
C'est pour savoir si je peux alloue 1Go (sur 2) a ma machine linux sans
pertes de performances (tant que la machine virtuelle ne fait rien).


je ne connais pas la réponse précise à ta question, mais je peux te dire
qu'avec 2Go ici et un alloué à Parallels, et (en outre) en cochant le
réglage dans Parallels qui dit de laisser priorité au mac, je ne vois
absolument aucun ralentissement du mac (j'ai la dernière version de
Parallels, en anglais)




OK, merci pour le temoignage.

--
Sind zu sein und es seiend in einem Schiff. Fällt zu sein hat das Wasser.
Wer bleibt er? -- Heidegger


Saïd
Le #2511151
Frédérique & Hervé Sainct :
Saïd
C'est pour savoir si je peux alloue 1Go (sur 2) a ma machine linux sans
pertes de performances (tant que la machine virtuelle ne fait rien).


je ne connais pas la réponse précise à ta question, mais je peux te dire
qu'avec 2Go ici et un alloué à Parallels, et (en outre) en cochant le
réglage dans Parallels qui dit de laisser priorité au mac, je ne vois
absolument aucun ralentissement du mac (j'ai la dernière version de
Parallels, en anglais)



Bon ben a chaque fois que j'essai de donner plus de 512Mo a la machine
virtuelle, linux boote plus que lentement. Ah l'informatique...


--
Sind zu sein und es seiend in einem Schiff. Fällt zu sein hat das Wasser.
Wer bleibt er? -- Heidegger


h.sainct
Le #2511111
Saïd
Bon ben a chaque fois que j'essai de donner plus de 512Mo a la machine
virtuelle, linux boote plus que lentement. Ah l'informatique...


arrgh c'était linux ton système-hôte et je ne l'avais même pas lu!!
honte sur moi, efface tout! moi c'est sous OSX, mille excuses...

--
Frédérique & Hervé Sainct, [fr,es,en,it]
Frédérique's initial is missing in front of the above address
l'initiale de Frédérique manque devant l'adresse email ci-dessus

Saïd
Le #2511101
Frédérique & Hervé Sainct :
Saïd
Bon ben a chaque fois que j'essai de donner plus de 512Mo a la machine
virtuelle, linux boote plus que lentement. Ah l'informatique...


arrgh c'était linux ton système-hôte et je ne l'avais même pas lu!!
honte sur moi, efface tout! moi c'est sous OSX, mille excuses...



Ben Parallels tourne sous Mac OS X, et linux tourne a l'interieur de
parallels. Pourquoi tu fais quoi toi?



--
Sind zu sein und es seiend in einem Schiff. Fällt zu sein hat das Wasser.
Wer bleibt er? -- Heidegger


h.sainct
Le #2511011
Saïd
arrgh c'était linux ton système-hôte et je ne l'avais même pas lu!!
honte sur moi, efface tout! moi c'est sous OSX, mille excuses...



Ben Parallels tourne sous Mac OS X, et linux tourne a l'interieur de
parallels. Pourquoi tu fais quoi toi?


décidément je dors :-)
à la seconde lecture, sans doute poussé par le besoin impératif de
trouver pourquoi ça ne marchait pas chez toi alors que ça marche chez
moi, je m'étais imaginé que tu faisais tourner parallels sur un système
linux... (idée spécialement stupide sur ce ng, je sais)
donc nous avons le même parallels sur le même 2Go.
- j'ai une machine virtuelle windows XP dotée de 1Go, avec priorité au
mac, qui marche sans problème (vite) et sans ralentir le mac
- j'ai une machine linux mandriva one, mais avec seulement 250 Mo de ram
attribuée, et qui marche sans pb aussi mais sans grand usage intensif...
je ne sais donc pas si ton pb avec plus de 512 Mo se répèterait ici.
Est-ce que tu as une Mandriva? Si c'est le cas je peux reparamétrer la
mienne pour essayer de dupliquer le problème?
Hervé

--
Frédérique & Hervé Sainct, [fr,es,en,it]
Frédérique's initial is missing in front of the above address
l'initiale de Frédérique manque devant l'adresse email ci-dessus


Publicité
Poster une réponse
Anonyme