W oparciu o zamieszczone tutaj pomysły stworzyłem ten mały wiersz kodu:
sudo vmmap notifyd | grep -A3 'Summary'
który wyświetla sekcję Podsumowanie (3 linie) wyjścia vmmap. Użyłem notifyd
tego przykładu, ale możesz go zastąpić dowolnym znanym PID.
Ta linia spróbuje wyświetlić wszystkie linie Podsumowania wszystkich uruchomionych procesów. Oczywiście niektóre zawiodą, ponieważ ich identyfikator procesu już zniknął (proces zakończony), ale ogólnie uważam, że jest to świetny sposób na przewijanie listy informacji o pamięci i wykrycie głównego zamieniacza.
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | grep -A3 'Summary'
Edytowano: Pewien anonimowy użytkownik widział, że ten ostatni wiersz poleceń wymaga ulepszenia, ponieważ oczywiście oryginalny wariant już nie działał. Dziękuję bardzo, kimkolwiek jesteś i przykro mi, że Twoja edycja została odrzucona. (Pierwsze polecenie poprzednio brzmiało „ps xa” i powodowało niepowodzenie vmmap z powodu rzucenia na niego nagłówka ps)
Dalsza poprawa: jeśli chcesz od razu poznać nazwę programu, skorzystaj z tej małej zmiany
ps -o pid= -xa | awk '{print $1}' | xargs -n 1 sudo vmmap | egrep 'swapped_out|Path'
Mała poprawka na drugim końcu tego polecenia umożliwia filtrowanie pod kątem niektórych nazw programów lub komponentów ścieżki wiersza poleceń. Tutaj przyglądamy się tylko wszystkim procesom z „Library / PrivateFrameworks”.
ps -o pid,command= -xa | grep 'Library/PrivateFrameworks' | awk '{print $1}' | xargs -n 1 sudo vmmap |