Стовпець «Памʼять»
Також: обсяг памʼяті процесу (memory footprint)
Коротка відповідь
Стовпець «Памʼять» у Моніторі активності показує, скільки памʼяті використовує кожен процес. Це значення відображає обсяг памʼяті процесу (memory footprint), тому воно може включати стиснуту памʼять, а не лише нестиснуті дані в оперативній памʼяті.
Сортування за стовпцем «Памʼять» — найшвидший спосіб побачити, які процеси використовують найбільше памʼяті. Це число для кожного процесу окремо: програми з допоміжними процесами займають кілька рядків.
Сума всіх рядків не збігатиметься зі значенням «Використана памʼять» унизу вікна. Процеси можуть спільно використовувати памʼять, а підсумки рахуються по-різному.
Чому памʼять програми здається меншою, ніж очікувалося
Багато програм запускають допоміжні процеси, і кожен із них має власний рядок. Браузер може показувати скромне значення в головному рядку, тоді як його допоміжні процеси разом займають набагато більше. Виберіть «Перегляд» → «Усі процеси, ієрархічно», щоб побачити деякі допоміжні процеси під їхнім батьківським процесом, або додайте рядки самі.
Як користуватися стовпцем «Памʼять»
Сортуйте за ним, коли навантаженість памʼяті жовта або червона. Стежте, чи не зростає памʼять процесу з часом, хоча ви не робите в ньому більше: це може вказувати на витік. Якщо завершити програму й відкрити її знову, її памʼять звільниться.
Через «Перегляд» → «Стовпці» можна додати інші стовпці памʼяті, наприклад стиснуту памʼять, щоб бачити більше подробиць для кожного процесу.
Що вимірює стовпець «Памʼять»
macOS веде для кожного процесу поточний підрахунок, що називається фізичним слідом (physical footprint). Він відстежує памʼять, у яку процес записав дані і якою він володіє. Цей підрахунок показують і стовпець «Памʼять» у Моніторі активності, і стовпець MEM у команді top.
Оскільки він рахує памʼять, якою процес володіє, а не лише те, що саме зараз лежить у RAM, у нього можуть входити стиснуті дані й памʼять, використана для графіки від імені процесу. До нього не входять файли, які процес лише прочитав, — система може їх відкинути й пізніше прочитати знову.
Частину памʼяті, яку драйвер чи системний компонент виділяє від імені процесу, навмисно не включено в його слід, бо процес не може впливати на її розмір. Тож стовпець «Памʼять» добре підходить для порівняння процесів, але не є точним записом кожного байта, який система використала через цей процес.
Як перевірити памʼять процесу в Терміналі
Ці команди лише зчитують інформацію. Вони корисні, коли Монітор активності не відкрито або коли ви хочете записувати число з часом.
- Виконайте
top -o mem, щоб побачити процеси, відсортовані за памʼяттю. Стовпець MEM відповідає стовпцю «Памʼять» у Моніторі активності. Щоб вийти, натисніть q. - Виконайте
top -l 1 -o mem -n 10 -stats pid,command,mem, щоб один раз вивести десять найбільших процесів і завершити роботу. - Виконайте
footprintз назвою програми, наприкладfootprint Safari, щоб побачити її памʼять за категоріями. Рядок phys_footprint у кінці відповідає стовпцю «Памʼять», а phys_footprint_peak — найбільше значення від запуску процесу. - Майте на увазі, що
psпоказує RSS — резидентний розмір, як у стовпці «Реальна пам.», тож його числа не збігатимуться зі стовпцем «Памʼять».
Як помітити витік памʼяті за стовпцем «Памʼять»
- Якщо хочете частіших оновлень, на вкладці «Памʼять» виберіть «Перегляд» > «Частота оновлення» > «висока (щосекунди)».
- Знайдіть програму разом із її процесами-помічниками й запамʼятайте її значення «Памʼять».
- Продовжуйте користуватися програмою як зазвичай, не відкриваючи нових документів чи вікон.
- Через деякий час знову перевірте значення. Якщо воно постійно зростає й ніколи не спадає, навіть коли ви закриваєте відкрите, у програмі, ймовірно, витік памʼяті.
- Завершіть і знову відкрийте програму, щоб звільнити памʼять. Якщо це повториться, перевірте, чи є оновлення для програми.
Що питають люди
Що означає стовпець «Памʼять» у Моніторі активності?
Це обсяг памʼяті, який використовує кожен процес, обчислений за його memory footprint. Відсортуйте за ним, щоб знайти найбільших споживачів.
Чому значення стовпця «Памʼять» не дають у сумі «Використана памʼять»?
Процеси спільно використовують частину памʼяті, а системні підсумки вимірюються інакше, тому рядки й загальне значення точно не збігатимуться.
Чому одна програма займає багато рядків?
Програма запускає допоміжні процеси, а Монітор активності показує кожен процес окремо.
Чи стовпець «Памʼять» — це те саме, що «Реальна пам.»?
Ні. «Памʼять» — це слід процесу, який може включати стиснуті дані. «Реальна пам.» — лише те, що зараз у RAM, зокрема частина памʼяті, спільної з іншими процесами.
Чи включає стовпець «Памʼять» памʼять графічного процесора?
Може включати графічну памʼять, яку система приписала цьому процесу, бо підрахунок сліду охоплює кілька видів памʼяті, а не лише звичайні дані програми.
Чому стовпець «Памʼять» не збігається з ps чи іншими інструментами?
Інструменти на зразок ps показують резидентний розмір, який рахує памʼять інакше. Стовпець MEM команди top і команда footprint використовують той самий підрахунок сліду, що й Монітор активності.
Повʼязане
Покроково: Яка програма використовує процесор чи памʼять.
Шукаєте щось краще за Монітор активності? Дивіться найкращі альтернативи Монітору активності для Mac або перегляньте усі терміни глосарію.