macOS Memory Dumping
Артефакти пам'яті
Файли свопу
Файли свопу, такі як /private/var/vm/swapfile0
, служать як кеші, коли фізична пам'ять заповнена. Коли в фізичній пам'яті не залишається місця, її дані переносяться до файлу свопу, а потім знову переносяться до фізичної пам'яті за потреби. Можуть бути присутні кілька файлів свопу з назвами, такими як swapfile0, swapfile1 і так далі.
Образ гібернації
Файл, розташований за адресою /private/var/vm/sleepimage
, є важливим під час режиму гібернації. Дані з пам'яті зберігаються в цьому файлі під час гібернації OS X. Після прокидання комп'ютера система отримує дані пам'яті з цього файлу, що дозволяє користувачеві продовжити роботу з того місця, де він закінчив.
Варто зауважити, що на сучасних системах MacOS цей файл зазвичай шифрується з метою безпеки, що ускладнює відновлення.
Щоб перевірити, чи увімкнено шифрування для sleepimage, можна виконати команду
sysctl vm.swapusage
. Це покаже, чи файл зашифрований.
Журнали тиску на пам'ять
Ще один важливий файл, пов'язаний з пам'яттю в системах MacOS, - це журнали тиску на пам'ять. Ці журнали розташовані в /var/log
і містять докладну інформацію про використання пам'яті системою та події тиску на пам'ять. Вони можуть бути особливо корисні для діагностики питань, пов'язаних з пам'яттю, або для розуміння того, як система керує пам'яттю з часом.
Дамп пам'яті за допомогою osxpmem
Для дампу пам'яті на комп'ютері з MacOS можна використовувати osxpmem.
Примітка: Наведені інструкції працюватимуть лише для Mac з архітектурою Intel. Цей інструмент зараз заархівований, а останнє випуск було в 2017 році. Завантажений бінарний файл, використовуючи наведені нижче інструкції, призначений для чіпів Intel, оскільки Apple Silicon не існував у 2017 році. Можливо, що можна скомпілювати бінарний файл для архітектури arm64, але вам доведеться спробувати самостійно.
Якщо ви знайшли цю помилку: osxpmem.app/MacPmem.kext не вдалося завантажити - (libkern/kext) помилка аутентифікації (власність файлу/дозволи); перевірте системні/ядро журнали на наявність помилок або спробуйте kextutil(8)
Ви можете виправити це, виконавши:
Інші помилки можуть бути виправлені, дозволивши завантаження kext у "Безпека та конфіденційність --> Загальне", просто дозвольте це.
Ви також можете використати цей онелайнер, щоб завантажити програму, завантажити kext та витягнути пам'ять:
Last updated