A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
In article,
pehache wrote:A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
Je n'ai pas tout suivi.
Avec Lion ces 12Go ? sur quelle machine ?
In article<9jt2dsFb1oU1@mid.individual.net>,
pehache<pehache.7@gmail.com> wrote:
A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
Je n'ai pas tout suivi.
Avec Lion ces 12Go ? sur quelle machine ?
In article,
pehache wrote:A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
Je n'ai pas tout suivi.
Avec Lion ces 12Go ? sur quelle machine ?
Juste après le boot et l'ouverture de session, j'ai une "mémoire
virtuelle" affichée qui fait déjà 146Go. J'ai du mal à comprendre une
telle taille.
La mémoire virtuelle c'est bien l'ensemble des objets mappés dans
l'espace adressable par le kernel, sachant qu'ils peuvent être dans la
mémoire physique ou sur le disque ?
Et le swap c'est bien les pages de mémoire virtuelle que le kernel a
besoin de dégager temporairement de la mémoire physique, mais qui ne
proviennent pas du mappage d'un fichier déjà existant ?
A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
Juste après le boot et l'ouverture de session, j'ai une "mémoire
virtuelle" affichée qui fait déjà 146Go. J'ai du mal à comprendre une
telle taille.
La mémoire virtuelle c'est bien l'ensemble des objets mappés dans
l'espace adressable par le kernel, sachant qu'ils peuvent être dans la
mémoire physique ou sur le disque ?
Et le swap c'est bien les pages de mémoire virtuelle que le kernel a
besoin de dégager temporairement de la mémoire physique, mais qui ne
proviennent pas du mappage d'un fichier déjà existant ?
A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
Juste après le boot et l'ouverture de session, j'ai une "mémoire
virtuelle" affichée qui fait déjà 146Go. J'ai du mal à comprendre une
telle taille.
La mémoire virtuelle c'est bien l'ensemble des objets mappés dans
l'espace adressable par le kernel, sachant qu'ils peuvent être dans la
mémoire physique ou sur le disque ?
Et le swap c'est bien les pages de mémoire virtuelle que le kernel a
besoin de dégager temporairement de la mémoire physique, mais qui ne
proviennent pas du mappage d'un fichier déjà existant ?
A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
Le 20/11/11 22:21, Matt a écrit :
> On Dim 20 novembre 2011, 20:56,
> pehache wrote:
>
>>> La mémoire virtuelle n'existe pas (d'où son nom) mais représente
>>> potentiellement la taille requise pour l'application (taille qui
>>> est dynamique, ndlr).
>
>> C'est pas clair vos histoires :-)
>
> La notion de mémoire virtuelle peut paraître vague, je l'avoue.
> Car l'on confond souvent mémoire virtuelle et swap.
>
> Tu as tout d'expliquer dans le paragraphe « About the Virtual Memory
> System », dont je j'ai donné le lien.
>
Juste après le boot et l'ouverture de session, j'ai une "mémoire
virtuelle" affichée qui fait déjà 146Go. J'ai du mal à comprendre une
telle taille.
La mémoire virtuelle c'est bien l'ensemble des objets mappés dans
l'espace adressable par le kernel, sachant qu'ils peuvent être dans la
mémoire physique ou sur le disque ? Et le swap c'est bien les pages de
mémoire virtuelle que le kernel a besoin de dégager temporairement de la
mémoire physique, mais qui ne proviennent pas du mappage d'un fichier
déjà existant ?
A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
Le 20/11/11 22:21, Matt a écrit :
> On Dim 20 novembre 2011, 20:56,
> pehache<pehache.7@gmail.com> wrote:
>
>>> La mémoire virtuelle n'existe pas (d'où son nom) mais représente
>>> potentiellement la taille requise pour l'application (taille qui
>>> est dynamique, ndlr).
>
>> C'est pas clair vos histoires :-)
>
> La notion de mémoire virtuelle peut paraître vague, je l'avoue.
> Car l'on confond souvent mémoire virtuelle et swap.
>
> Tu as tout d'expliquer dans le paragraphe « About the Virtual Memory
> System », dont je j'ai donné le lien.
>
Juste après le boot et l'ouverture de session, j'ai une "mémoire
virtuelle" affichée qui fait déjà 146Go. J'ai du mal à comprendre une
telle taille.
La mémoire virtuelle c'est bien l'ensemble des objets mappés dans
l'espace adressable par le kernel, sachant qu'ils peuvent être dans la
mémoire physique ou sur le disque ? Et le swap c'est bien les pages de
mémoire virtuelle que le kernel a besoin de dégager temporairement de la
mémoire physique, mais qui ne proviennent pas du mappage d'un fichier
déjà existant ?
A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
Le 20/11/11 22:21, Matt a écrit :
> On Dim 20 novembre 2011, 20:56,
> pehache wrote:
>
>>> La mémoire virtuelle n'existe pas (d'où son nom) mais représente
>>> potentiellement la taille requise pour l'application (taille qui
>>> est dynamique, ndlr).
>
>> C'est pas clair vos histoires :-)
>
> La notion de mémoire virtuelle peut paraître vague, je l'avoue.
> Car l'on confond souvent mémoire virtuelle et swap.
>
> Tu as tout d'expliquer dans le paragraphe « About the Virtual Memory
> System », dont je j'ai donné le lien.
>
Juste après le boot et l'ouverture de session, j'ai une "mémoire
virtuelle" affichée qui fait déjà 146Go. J'ai du mal à comprendre une
telle taille.
La mémoire virtuelle c'est bien l'ensemble des objets mappés dans
l'espace adressable par le kernel, sachant qu'ils peuvent être dans la
mémoire physique ou sur le disque ? Et le swap c'est bien les pages de
mémoire virtuelle que le kernel a besoin de dégager temporairement de la
mémoire physique, mais qui ne proviennent pas du mappage d'un fichier
déjà existant ?
A part ça, depuis que je suis passé de 4 à 12Go de RAM je n'ai plus de
freezes intempestifs.
Tant mieux ;-)
Déjà entre 4 et 8 (sur deux macbookpro) c'est le jour et la nuit sur la
taille du swap ;-)
Tant mieux ;-)
Déjà entre 4 et 8 (sur deux macbookpro) c'est le jour et la nuit sur la
taille du swap ;-)
Tant mieux ;-)
Déjà entre 4 et 8 (sur deux macbookpro) c'est le jour et la nuit sur la
taille du swap ;-)
On Ven 02 décembre 2011, 23:39,
pehache wrote:Juste après le boot et l'ouverture de session, j'ai une "mémoire
virtuelle" affichée qui fait déjà 146Go. J'ai du mal à comprendre une
telle taille.
Cette taille n'a que peu d'importance dans ce contexte car elle est
virtuelle (aucune page n'est adressée à la mémoire physique). C'est une
évaluation *virtuelle* des besoins en mémoire mais aucunement que sa
totalité serait chargée d'un coup.
La mémoire virtuelle c'est bien l'ensemble des objets mappés dans
l'espace adressable par le kernel, sachant qu'ils peuvent être dans la
mémoire physique ou sur le disque ?
Non.
L'espace d'adressage de la mémoire virtuelle reste... virtuel tant que
le programme n'accède pas à des pages qui sont dans cet espace.
Le processeur et le mmu maintiennent une table d'allocation qui
permettra d'allouer les pages virtuelles d'un programme, au besoin, dans
l'espace adressable de la mémoire physique.Et le swap c'est bien les pages de mémoire virtuelle que le kernel a
besoin de dégager temporairement de la mémoire physique, mais qui ne
proviennent pas du mappage d'un fichier déjà existant ?
Non car l'espace virtuel alloué au programme lui est toujours disponible
(car il est... virtuel).
Le swap a deux sens dont l'un indique un manque de mémoire physique (le
fameux « paging out »).
Lorsqu'un programme tente d'accéder à une adresse mémoire qui n'est plus
chargée dans la mémoire physique, un « page fault » survient.
À ce moment, si aucune page n'est libre dans la mémoire physique, le
gestionnaire du « page fault » va libérer une page existante de la
mémoire physique (il va la placer dans le « backing store » : le disque,
ndlr).
Ce processus de libération de page est appelé « paging out ».
Le processus inverse est appelé « paging in ».
On Ven 02 décembre 2011, 23:39,
pehache<pehache.7@gmail.com> wrote:
Juste après le boot et l'ouverture de session, j'ai une "mémoire
virtuelle" affichée qui fait déjà 146Go. J'ai du mal à comprendre une
telle taille.
Cette taille n'a que peu d'importance dans ce contexte car elle est
virtuelle (aucune page n'est adressée à la mémoire physique). C'est une
évaluation *virtuelle* des besoins en mémoire mais aucunement que sa
totalité serait chargée d'un coup.
La mémoire virtuelle c'est bien l'ensemble des objets mappés dans
l'espace adressable par le kernel, sachant qu'ils peuvent être dans la
mémoire physique ou sur le disque ?
Non.
L'espace d'adressage de la mémoire virtuelle reste... virtuel tant que
le programme n'accède pas à des pages qui sont dans cet espace.
Le processeur et le mmu maintiennent une table d'allocation qui
permettra d'allouer les pages virtuelles d'un programme, au besoin, dans
l'espace adressable de la mémoire physique.
Et le swap c'est bien les pages de mémoire virtuelle que le kernel a
besoin de dégager temporairement de la mémoire physique, mais qui ne
proviennent pas du mappage d'un fichier déjà existant ?
Non car l'espace virtuel alloué au programme lui est toujours disponible
(car il est... virtuel).
Le swap a deux sens dont l'un indique un manque de mémoire physique (le
fameux « paging out »).
Lorsqu'un programme tente d'accéder à une adresse mémoire qui n'est plus
chargée dans la mémoire physique, un « page fault » survient.
À ce moment, si aucune page n'est libre dans la mémoire physique, le
gestionnaire du « page fault » va libérer une page existante de la
mémoire physique (il va la placer dans le « backing store » : le disque,
ndlr).
Ce processus de libération de page est appelé « paging out ».
Le processus inverse est appelé « paging in ».
On Ven 02 décembre 2011, 23:39,
pehache wrote:Juste après le boot et l'ouverture de session, j'ai une "mémoire
virtuelle" affichée qui fait déjà 146Go. J'ai du mal à comprendre une
telle taille.
Cette taille n'a que peu d'importance dans ce contexte car elle est
virtuelle (aucune page n'est adressée à la mémoire physique). C'est une
évaluation *virtuelle* des besoins en mémoire mais aucunement que sa
totalité serait chargée d'un coup.
La mémoire virtuelle c'est bien l'ensemble des objets mappés dans
l'espace adressable par le kernel, sachant qu'ils peuvent être dans la
mémoire physique ou sur le disque ?
Non.
L'espace d'adressage de la mémoire virtuelle reste... virtuel tant que
le programme n'accède pas à des pages qui sont dans cet espace.
Le processeur et le mmu maintiennent une table d'allocation qui
permettra d'allouer les pages virtuelles d'un programme, au besoin, dans
l'espace adressable de la mémoire physique.Et le swap c'est bien les pages de mémoire virtuelle que le kernel a
besoin de dégager temporairement de la mémoire physique, mais qui ne
proviennent pas du mappage d'un fichier déjà existant ?
Non car l'espace virtuel alloué au programme lui est toujours disponible
(car il est... virtuel).
Le swap a deux sens dont l'un indique un manque de mémoire physique (le
fameux « paging out »).
Lorsqu'un programme tente d'accéder à une adresse mémoire qui n'est plus
chargée dans la mémoire physique, un « page fault » survient.
À ce moment, si aucune page n'est libre dans la mémoire physique, le
gestionnaire du « page fault » va libérer une page existante de la
mémoire physique (il va la placer dans le « backing store » : le disque,
ndlr).
Ce processus de libération de page est appelé « paging out ».
Le processus inverse est appelé « paging in ».
>
> Cette taille n'a que peu d'importance dans ce contexte car elle est
> virtuelle (aucune page n'est adressée à la mémoire physique). C'est une
> évaluation *virtuelle* des besoins en mémoire mais aucunement que sa
> totalité serait chargée d'un coup.
Une évaluation basée sur quoi ?
Le swap ça je comprends bien. C'est cette histoire de mémoire virtuelle
que je trouve pas claire, là.
Je "connais" deux façons d'utiliser l'espace mémoire adressable :
- classique (malloc() en C); si on dépasse la RAM physique, le système
utilise le swap
- les fichiers mappés en mémoire (je ne parle pas du cache disque)
Je voyais la mémoire virtuelle comme l'ensemble de la mémoire allouée
classiquement + les fichiers mappés ouverts.
Sauf que juste après le
démarrage je ne vois pas bien comment on peut avoir plusieurs dizaines
de Go...
>
> Cette taille n'a que peu d'importance dans ce contexte car elle est
> virtuelle (aucune page n'est adressée à la mémoire physique). C'est une
> évaluation *virtuelle* des besoins en mémoire mais aucunement que sa
> totalité serait chargée d'un coup.
Une évaluation basée sur quoi ?
Le swap ça je comprends bien. C'est cette histoire de mémoire virtuelle
que je trouve pas claire, là.
Je "connais" deux façons d'utiliser l'espace mémoire adressable :
- classique (malloc() en C); si on dépasse la RAM physique, le système
utilise le swap
- les fichiers mappés en mémoire (je ne parle pas du cache disque)
Je voyais la mémoire virtuelle comme l'ensemble de la mémoire allouée
classiquement + les fichiers mappés ouverts.
Sauf que juste après le
démarrage je ne vois pas bien comment on peut avoir plusieurs dizaines
de Go...
>
> Cette taille n'a que peu d'importance dans ce contexte car elle est
> virtuelle (aucune page n'est adressée à la mémoire physique). C'est une
> évaluation *virtuelle* des besoins en mémoire mais aucunement que sa
> totalité serait chargée d'un coup.
Une évaluation basée sur quoi ?
Le swap ça je comprends bien. C'est cette histoire de mémoire virtuelle
que je trouve pas claire, là.
Je "connais" deux façons d'utiliser l'espace mémoire adressable :
- classique (malloc() en C); si on dépasse la RAM physique, le système
utilise le swap
- les fichiers mappés en mémoire (je ne parle pas du cache disque)
Je voyais la mémoire virtuelle comme l'ensemble de la mémoire allouée
classiquement + les fichiers mappés ouverts.
Sauf que juste après le
démarrage je ne vois pas bien comment on peut avoir plusieurs dizaines
de Go...
Une évaluation basée sur quoi ?
Le swap ça je comprends bien. C'est cette histoire de mémoire virtuelle
que je trouve pas claire, là.
Je "connais" deux façons d'utiliser l'espace mémoire adressable :
- classique (malloc() en C); si on dépasse la RAM physique, le système
utilise le swap
- les fichiers mappés en mémoire (je ne parle pas du cache disque)
Je voyais la mémoire virtuelle comme l'ensemble de la mémoire allouée
classiquement + les fichiers mappés ouverts. Sauf que juste après le
démarrage je ne vois pas bien comment on peut avoir plusieurs dizaines
de Go...
Une évaluation basée sur quoi ?
Le swap ça je comprends bien. C'est cette histoire de mémoire virtuelle
que je trouve pas claire, là.
Je "connais" deux façons d'utiliser l'espace mémoire adressable :
- classique (malloc() en C); si on dépasse la RAM physique, le système
utilise le swap
- les fichiers mappés en mémoire (je ne parle pas du cache disque)
Je voyais la mémoire virtuelle comme l'ensemble de la mémoire allouée
classiquement + les fichiers mappés ouverts. Sauf que juste après le
démarrage je ne vois pas bien comment on peut avoir plusieurs dizaines
de Go...
Une évaluation basée sur quoi ?
Le swap ça je comprends bien. C'est cette histoire de mémoire virtuelle
que je trouve pas claire, là.
Je "connais" deux façons d'utiliser l'espace mémoire adressable :
- classique (malloc() en C); si on dépasse la RAM physique, le système
utilise le swap
- les fichiers mappés en mémoire (je ne parle pas du cache disque)
Je voyais la mémoire virtuelle comme l'ensemble de la mémoire allouée
classiquement + les fichiers mappés ouverts. Sauf que juste après le
démarrage je ne vois pas bien comment on peut avoir plusieurs dizaines
de Go...
pehache wrote:
Cette taille n'a que peu d'importance dans ce contexte car elle est
virtuelle (aucune page n'est adressée à la mémoire physique). C'est une
évaluation *virtuelle* des besoins en mémoire mais aucunement que sa
totalité serait chargée d'un coup.
Une évaluation basée sur quoi ?
Amha le total de la mémoire qu'utiliseraient tous les processus ouverts
s'ils étaient effectivement complètement chargés en mémoire.Le swap ça je comprends bien. C'est cette histoire de mémoire virtuelle
que je trouve pas claire, là.
Je "connais" deux façons d'utiliser l'espace mémoire adressable :
- classique (malloc() en C); si on dépasse la RAM physique, le système
utilise le swap
En fait ce n'est pas vraiment à ce niveau qu'intervient le swap...- les fichiers mappés en mémoire (je ne parle pas du cache disque)
Comme expliqué par Matt, le swap intervient chaque fois qu'il y a un
défaut de page. Pas forcément lors d'une allocation.
Je voyais la mémoire virtuelle comme l'ensemble de la mémoire allouée
classiquement + les fichiers mappés ouverts.
En gros c'est bien ça.
Mais en fait il y a plusieurs types de mémoire virtuelle suivant le
système d'exploitation. Ce que j'ai décrit ci-dessus est la mémoire
virtuelle paginée telle qu'elle existe sous Unix.
Eric L. décrit celle de NextStep qui est très similaire ici :
<http://www.levenez.com/NeXTSTEP/Memoire.html>
Historiquement la mémoire virtuelle n'était pas paginée : c'était les
processus entiers qui étaient swappés sur le disque quand on avait
besoin de place pour un autre processus.
La mémoire virtuelle de Mac OS classique fonctionnait différemment
aussi.Sauf que juste après le
démarrage je ne vois pas bien comment on peut avoir plusieurs dizaines
de Go...
Beaucoup de process sont lancés au démarrage. Effectue donc dans le
Terminal la commande suivante :
ps aux
et ceci juste après le démarrage.
Compte le nombre de lignes
Compte la somme de nombres de Ko de la colonne VSZ ( Virtual size)
pehache<pehache.7@gmail.com> wrote:
Cette taille n'a que peu d'importance dans ce contexte car elle est
virtuelle (aucune page n'est adressée à la mémoire physique). C'est une
évaluation *virtuelle* des besoins en mémoire mais aucunement que sa
totalité serait chargée d'un coup.
Une évaluation basée sur quoi ?
Amha le total de la mémoire qu'utiliseraient tous les processus ouverts
s'ils étaient effectivement complètement chargés en mémoire.
Le swap ça je comprends bien. C'est cette histoire de mémoire virtuelle
que je trouve pas claire, là.
Je "connais" deux façons d'utiliser l'espace mémoire adressable :
- classique (malloc() en C); si on dépasse la RAM physique, le système
utilise le swap
En fait ce n'est pas vraiment à ce niveau qu'intervient le swap...
- les fichiers mappés en mémoire (je ne parle pas du cache disque)
Comme expliqué par Matt, le swap intervient chaque fois qu'il y a un
défaut de page. Pas forcément lors d'une allocation.
Je voyais la mémoire virtuelle comme l'ensemble de la mémoire allouée
classiquement + les fichiers mappés ouverts.
En gros c'est bien ça.
Mais en fait il y a plusieurs types de mémoire virtuelle suivant le
système d'exploitation. Ce que j'ai décrit ci-dessus est la mémoire
virtuelle paginée telle qu'elle existe sous Unix.
Eric L. décrit celle de NextStep qui est très similaire ici :
<http://www.levenez.com/NeXTSTEP/Memoire.html>
Historiquement la mémoire virtuelle n'était pas paginée : c'était les
processus entiers qui étaient swappés sur le disque quand on avait
besoin de place pour un autre processus.
La mémoire virtuelle de Mac OS classique fonctionnait différemment
aussi.
Sauf que juste après le
démarrage je ne vois pas bien comment on peut avoir plusieurs dizaines
de Go...
Beaucoup de process sont lancés au démarrage. Effectue donc dans le
Terminal la commande suivante :
ps aux
et ceci juste après le démarrage.
Compte le nombre de lignes
Compte la somme de nombres de Ko de la colonne VSZ ( Virtual size)
pehache wrote:
Cette taille n'a que peu d'importance dans ce contexte car elle est
virtuelle (aucune page n'est adressée à la mémoire physique). C'est une
évaluation *virtuelle* des besoins en mémoire mais aucunement que sa
totalité serait chargée d'un coup.
Une évaluation basée sur quoi ?
Amha le total de la mémoire qu'utiliseraient tous les processus ouverts
s'ils étaient effectivement complètement chargés en mémoire.Le swap ça je comprends bien. C'est cette histoire de mémoire virtuelle
que je trouve pas claire, là.
Je "connais" deux façons d'utiliser l'espace mémoire adressable :
- classique (malloc() en C); si on dépasse la RAM physique, le système
utilise le swap
En fait ce n'est pas vraiment à ce niveau qu'intervient le swap...- les fichiers mappés en mémoire (je ne parle pas du cache disque)
Comme expliqué par Matt, le swap intervient chaque fois qu'il y a un
défaut de page. Pas forcément lors d'une allocation.
Je voyais la mémoire virtuelle comme l'ensemble de la mémoire allouée
classiquement + les fichiers mappés ouverts.
En gros c'est bien ça.
Mais en fait il y a plusieurs types de mémoire virtuelle suivant le
système d'exploitation. Ce que j'ai décrit ci-dessus est la mémoire
virtuelle paginée telle qu'elle existe sous Unix.
Eric L. décrit celle de NextStep qui est très similaire ici :
<http://www.levenez.com/NeXTSTEP/Memoire.html>
Historiquement la mémoire virtuelle n'était pas paginée : c'était les
processus entiers qui étaient swappés sur le disque quand on avait
besoin de place pour un autre processus.
La mémoire virtuelle de Mac OS classique fonctionnait différemment
aussi.Sauf que juste après le
démarrage je ne vois pas bien comment on peut avoir plusieurs dizaines
de Go...
Beaucoup de process sont lancés au démarrage. Effectue donc dans le
Terminal la commande suivante :
ps aux
et ceci juste après le démarrage.
Compte le nombre de lignes
Compte la somme de nombres de Ko de la colonne VSZ ( Virtual size)