Система пам’яті Linux наповнена безліччю утиліт утиліти оптимізації пам’яті та обміну пам’яттю, що робить саму ідею того, як поділяється пам’ять і споживається серед неї, громіздкий підхід. Вихід PS та інших команд, пов'язаних з PS, все покращує їх вихід із даних під /proc
файловою системою. Особливоps
, RSS (пам'ять розміру резидента) та VSIZE (розмір віртуальної пам'яті) є важливими, однак VSIZE не показує точне використання пам'яті, а різниця між VSIZE та rss - це те, що насправді призначено та виділено програмі під час ініціалізації, але можливо, ще не посилаються. Як і у програми, можливо, є багато пов'язаних бібліотек, але вони ще не завантажені, оскільки вони ще не посилаються на фактичну програму. RSS дає загальну пам'ять, яку фактично використовує програма, але може не дати справжньої картини споживання пам'яті, оскільки більша частина виділеної пам'яті може бути спільною з іншими прикладами того ж процесу чи інших процесів. Дивлячись нижче, /proc/<processid>/maps
можна дати грубе уявлення про те, як використовується пам'ять, але вони спокійні, іноді можуть вводити в оману. Використовуйтеpmap -x <pid>
з командного рядка, корисно побачити розповсюдження.
Частіше кращі комунальні послуги є free
і vmstat
. free
дасть загальну інформацію про споживання поточної пам’яті, і vmstat можна використовувати, щоб побачити, як часто вона оновлюється.