4 votes

Comment obtenir la quantité de "mémoire compressée" par processus (à partir du terminal) ?

Comment puis-je utiliser ps ou une variante de celle-ci... pour obtenir une valeur qui correspond à peu près à la valeur de "Mémoire comprimée" qu'Apple indique dans le document Activity Monitor.app ?

enter image description here

username 52036 100.1 24.1 8026832 3035512 ?? Rs ...com.apple.WebKit.WebContent

Ok, il semble donc que ps aux nous dit...

  • 3035512 , alias 2.83 Gb qui correspond à "Mémoire privée"
  • 8026832 , alias 7.48 Gb ce qui ne semble pas correspondre à n'importe quoi . (Bien qu'il éventuellement pourrait être ("Mémoire" 3.89 + "Mémoire privée" 2.84 + "Mémoire comprimée" 1.05 ) ?

Existe-t-il un moyen "normal" d'accéder à cette mesure, ou s'agit-il simplement d'une valeur "magique" qu'Apple a inventée ?

4voto

Oskar Points 1242

La mémoire comprimée n'a rien de magique. C'est un élément qui a été ajouté à la version 10.9 comme dernière étape avant que le système ne remplace la mémoire vive par du stockage. Selon John Siracusa Il remplit trois fonctions principales :

La compression de la mémoire est un triple jeu pour Mavericks. C'est un gain de performance : la compression et la décompression des données dans la RAM sont beaucoup plus rapides que la lecture et l'écriture sur un disque, même un disque SSD. C'est un gain d'énergie : moins on passe de temps à déplacer les données entre la RAM et le disque, plus le système peut rester inactif. Enfin, c'est un gain de capacité : Mavericks peut gérer des charges de travail beaucoup plus exigeantes que les versions précédentes d'OS X avant la crise de nerfs.

Pour ce qui est d'obtenir les détails à partir de la ligne de commande, cela risque d'être difficile. Les chiffres globaux de compression sont faciles à obtenir à l'aide d'une paire d'outils :

memory_pressure
vm_stat

Je ne pense pas que l'invocation de la ps fera l'affaire, mais peut-être que quelqu'un peut corriger cela. Vous pouvez consulter les détails de la mise en œuvre sur ce fil de discussion : vm_compressor_mode (vm.compressor_mode) valeurs pour la mémoire compressée activée dans OS X

Le mieux que je puisse faire est d'examiner toute la mémoire "swappée et/ou compressée" à l'aide de la fonction vmmap commande. En principe, avant de procéder à l'échange, les zones de mémoire marquées pour l'échange sont compressées. Si cela permet d'économiser suffisamment d'espace pour alléger l'algorithme de permutation, il n'y a pas de permutation. Dans le cas contraire, les régions compressées sont transférées vers le stockage.

vmmap -swapped [PID]

Vous devriez gérer l'ajout des régions et je ne suis pas sûr que le moniteur d'activité signale toutes les permutations et compressions dans la colonne que vous avez mentionnée, mais c'est quelque chose que vous pourriez être en mesure de déterminer par inspection et/ou en utilisant Instruments de Xcode pour corréler ce que vous voyez de la ligne de commande avec le moniteur d'activité pour certains processus.

2voto

Vilefort Points 105

Cela fonctionne pour moi :

VAR=`top -l 1 | awk '/processName/  {print $10 }'`

Pour obtenir une mémoire comprimée + normale

VAR=`top -l 1 | awk '/processName/  {print $8 + $10 }'`

-6voto

LexS Points 1403

ActivityMonitor : cliquez sur le bouton Mémoire, puis choisissez la colonne Mémoire comprimée.

3 votes

En quoi cela répond-il à la question de savoir comment accéder à ces informations à partir du terminal ?

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X