Sur la base des idées publiées ici, j'ai créé cette petite ligne de code:
sudo vmmap notifyd | grep -A3 'Summary'
qui affiche la section Résumé (3 lignes) de la sortie vmmap. J'ai utilisé notifyd
dans cet exemple, mais vous pouvez le remplacer par n'importe quel PID que vous connaissez.
Cette ligne va essayer de lister toutes les lignes de résumé de tous les processus en cours d'exécution. Évidemment, certains échoueront car leur identifiant de processus est déjà parti (processus terminé), mais en général, j'ai trouvé que c'était un excellent moyen de faire défiler une liste d'informations sur la mémoire et de repérer le swapper supérieur.
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | grep -A3 'Summary'
Modifié: Un utilisateur anonyme a vu que cette dernière ligne de commande avait besoin d'une amélioration car, évidemment, la variante d'origine ne fonctionnait plus. Merci beaucoup qui que vous soyez et je suis désolé que votre modification ait été rejetée. (La première commande a précédemment lu 'ps xa' et a entraîné l'échec de vmmap en raison du titre de ps lancé dessus)
Amélioration supplémentaire: si vous souhaitez connaître immédiatement le nom du programme, utilisez ce petit changement
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | egrep 'swapped_out|Path'
Un petit amendement à l'autre extrémité de cette commande vous permet de filtrer certains noms de programme ou composants de chemin de ligne de commande. Ici, nous examinons tous les processus de 'Library / PrivateFrameworks' uniquement par exemple.
ps -o pid,command= -xa | grep 'Library/PrivateFrameworks' | awk '{print $1}' | xargs -n 1 sudo vmmap |