Если я запускаю top -c
или htop
получаю процессы с их потреблением памяти, но это не то, что я хочу видеть.
Есть ли командная строка, позволяющая увидеть потребление ОЗУ данного приложения?
Например, я хочу увидеть потребление ОЗУ веб-сервера Apache (не проверяя все процессы, которые он выполняет, вместо этого)
10
Ответы:
Здесь есть очень хорошее подробное объяснение: https://blogs.kde.org/2005/09/15/measuring-memory-usage
Но по сути: вы должны действительно покопаться и понять, как настроено приложение.
Так, например, глядя на mysql:
Общий объем используемой памяти составляет около 25 МБ (возьмите 27 МБ RES и вычтите общее (SHR))
Я проверил это, проверив общее использование памяти (free -m, + / buffers / cache) до и после выдачи killall mysqld. После уничтожения всех процессов mysqld использование памяти сократилось на 25 МБ согласно «free -m».
Если вы видите, что у каждого процесса есть идентичные столбцы VIRT, RES и SHR, они, скорее всего, просто потоки одного и того же процесса. (Старые библиотеки Linux обрабатывали потоки, порождая несколько реальных процессов, которые по существу занимали одну и ту же память)
Если они отличаются, вы можете оценить это, выполнив СУММУ (RES - SHR). Но это работает, только если процессы на самом деле являются отдельными процессами, а не просто потоками одного и того же процесса. Просмотр PPID (ID родительского процесса) также помогает. Если у них у всех один и тот же родитель, они, вероятно, просто потоки (хотя и не обязательно).
К сожалению, в Linux нет действительно хорошего простого способа ответить на этот вопрос. Единственный простой способ - проверить «свободен» непосредственно перед прекращением процесса и проверить его снова сразу после. посмотрите на строку «- / + buffers / cache:» и посмотрите, насколько уменьшилось использование памяти, и это скажет вам, сколько она использовала.
источник
С небольшой помощью
man ps
и этим прекрасным ответом ...Например:
Другие способы:
Это можно запустить без
-x
иtail -1
:показывает только процент:
Кроме того, во время использования
top
вы можете нажать, iчтобы игнорировать процессы бездействия / зомби, чтобы было легче читать:источник
pmap
показывает много вещей о ресурсах, которые использует PID. Информация предоставляется на основе имени процесса и PID, найденного из него с использованиемpidof
, поэтому основной процесс показывается, если какое бы имя вы ни указали (я думаю, не знаю, относится ли оно к родительским процессам)