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

La mémoire sous Mavericks

63 réponses
Avatar
truc
Je suis pertubé par la gestion de la mémoire de mon iMac late 2009 avec
10.9.5, le sytème est sur un SSD mis à la place du lecteur CD et il n'y
a pas de DD interne mais 2 DD externes en continu. La mémoire est de 16
Go.
J'ai lancé Memory clean de l'AppStore et ses indications varient
beaucoup.
Au départ il reste 6 à 8 Go mais rapidement je me retrouve avec 20 Mo.
Un coup de nettoyage et je retrouve dans les 4 à 6 Go.
Dès que j'utilise Safari ou Firfox, la dégringolade arrive, du coup le
finder devient un peu paresseux.

Est-ce grave Docteur ? ou faut-il casser le termomètre ?

--
B. Graignic
enlever-bgraig@wanadoo.fr
http://pagesperso-orange.fr/fontguyon.antignac/

3 réponses

3 4 5 6 7
Avatar
Éric Lévénez
Le 08/09/2015 21:09, J.P a écrit :

Oui, Eric, merci pour ta très complète explication, mais comment
définis-tu exactement "espace ou mémoire virtuels" ?



Un programme utilise de la mémoire, pas forcément contiguë. Le noyau
garde un table contenant les adresses et les tailles des blocs qui
composent un programme. L'espace d'adressage est l'espace constituant
tous ces blocs. Si le programme essaye d'accéder à une adresse en dehors
de cette espace, le noyau détectera cela et arrêtera le programme. Si
c'est le noyau qui fait ces erreur d'adressage, c'est ce que l'on
appelle un panic.

La mémoire virtuelle est la gestion de la mémoire à travers une
redirection des adresses. Le système découpe les blocs mémoire utilisés
en pages. Chaque page a une adresse virtuelle et ce sont ces adresses
virtuelles et seulement elles que voit le programme. Le noyau mappe,
comme il le peut ces pages mémoire virtuelle vers, soit des pages
mémoire physique (RAM), soit des pages sur disque (swap), soit des pages
non allouées du tout (et du coup vraiment virtuelles).

Ainsi si le programme a alloué 4 kilo-octets, il recevra par exemple
l'adresse virtuelle 10000. Le noyau note alors que cette adresse 10000
devrait pointer sur 4 ko, mais qu'actuellement cette mémoire physique
n'est pas allouée. Si le programme écrit 1 octet dans ce bloc, à
l'adresse 10000, le noyau le détecte et va allouer 4 ko en RAM, par
exemple à l'adresse physique 20000. Le programme va alors reprendre et
l'octet écrit à l'adresse virtuelle 10000 est bien écrit à l'adresse
physique 20000 en RAM. Si le programme écrit un autre octet en 10001 (en
virtuel) l'octet ira en 20001 en physique.

Si un moment donné le noyau a besoin de place, il peut prendre le bloc à
l'adresse physique 20000 et le sauvegardé (swap out) sur le disque dans
le swap. Un autre programme pourra alors utiliser ce bloc physique. Puis
si le programme original accède à l'adresse virtuelle 10000, le noyau le
détecte, s'aperçoit que la page physique n'est plus là en RAM. Il va
donc recherche la page sur le disque (swap in). Ce bloc sera peut être
enregistré à l'adresse physique 30000 en RAM, mais sera toujours vu par
le programme à l'adresse virtuelle 10000.

Le programme ne saura jamais que son adresse 10000 pointe sur quelque
chose de présent en RAM ou pas. Pour lui en 10000 il y a de la mémoire
et c'est tout. La seule chose perceptible est que l'accès est plus ou
moins lent.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Avatar
J.P
In article <55ef3dd3$0$3331$,
Éric Lévénez wrote:

...
La mémoire virtuelle est la gestion de la mémoire à travers une
redirection des adresses. Le système découpe les blocs mémoire utilisés
en pages. Chaque page a une adresse virtuelle et ce sont ces adresses
virtuelles et seulement elles que voit le programme. Le noyau mappe,
comme il le peut ces pages mémoire virtuelle vers, soit des pages
mémoire physique (RAM), soit des pages sur disque (swap), soit des pages
non allouées du tout (et du coup vraiment virtuelles).
.....




Merci pour cet exposé on ne peut plus clair que je me hâte d'envoyer à
un petit-fils en apprentissage de l'informatique :-)

--
Jean-Pierre
Avatar
yapu
pehache wrote:

Parfois kernel_task revient à une taille normale en quittant certaines
applis (jamais les mêmes), mais en général le seul remède est le
reboot.



sur mon Macpro, j'ai 24G de RAM, et parfois Maverick me prend tout.
Mais en fait, il n'active pas le swap pour autant, je m'imagine que
c'est parce que c'est de la RAM inactive.
Je viens de regarder cette histoire de Kernel.
Peu après le ddémarrage, il était à 400 MO avec 4 fenetres dans Safari.

En fait, c'est Safari qui bouffe de la RAM, entre 80 et 200 MO par
fenetre, et le kernel grossit en meme temps.
Avec une 10aine de fenetres ouvertes, il est monté à 1,2G.
SI je referme, la RAM des contenu web est regagnée, mais pas la RAM du
kernel.
--
Philippe Manet
en fait, c'est manet avant @
3 4 5 6 7