Sulla base delle idee pubblicate qui ho creato questa piccola riga di codice:
sudo vmmap notifyd | grep -A3 'Summary'
che visualizza la sezione Riepilogo (3 righe) dell'output vmmap. Ho usato notifyd
in questo esempio, ma puoi sostituirlo con qualsiasi PID che conosci.
Questa riga tenterà di elencare tutte le righe di riepilogo di tutti i processi in esecuzione. Ovviamente alcuni falliranno perché il loro id di processo è già sparito (processo terminato), ma in generale ho scoperto che questo è un ottimo modo per scorrere un elenco di informazioni sulla memoria e individuare lo swapper principale.
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | grep -A3 'Summary'
Modificato: alcuni utenti anonimi hanno visto che quest'ultima riga di comando aveva bisogno di un miglioramento perché ovviamente la variante originale non funzionava più. Quindi grazie mille chiunque tu sia e mi dispiace che la tua modifica sia stata respinta. (Il primo comando in precedenza leggeva 'ps xa' e faceva fallire vmmap a causa del lancio del titolo di ps)
Ulteriore miglioramento: se ti piace conoscere subito il nome del programma, usa questa piccola modifica
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | egrep 'swapped_out|Path'
Una piccola modifica all'altra estremità di questo comando consente di filtrare determinati nomi di programma o componenti del percorso della riga di comando. Qui stiamo esaminando tutti i processi da 'Library / PrivateFrameworks' solo per esempio.
ps -o pid,command= -xa | grep 'Library/PrivateFrameworks' | awk '{print $1}' | xargs -n 1 sudo vmmap |