Размер процесса в UNIX

Как правильно указать размер процесса Solaris, HP-UX и AIX ? Должны ли мы использовать top или ps -o vsz или что - то другое?

Ответов (4)

Решение

Точные определения vsize, rss, rprvt, rshrd, и другие малоизвестные выглядящие аббревиатуры варьируются от ОСА OS. Страницы руководства для top и ps команд будет иметь какое - то описание, но все такие описания значительно упрощается (или основаны на давно вымерших реализации ядра).
«Размер процесса» как понятие в общем случае чертовски сложно определить. Ответы в конкретных случаях сильно зависят от фактической реализации управления памятью в ОС и редко бывают столь же удовлетворительными, как концепция аккуратного «размера процесса», которая существует в умах большинства пользователей (и большинства разработчиков).

Например, ни одно из этих чисел (или, вероятно, их комбинация) не может использоваться, чтобы точно сказать, сколько таких процессов может выполняться одновременно в данном объеме свободной памяти. Но на самом деле лучше всего исходить из этого: зачем вам этот номер и для чего вы его используете? Учитывая эту информацию, я думаю, вы получите более полезные ответы.

Да, вы правы, заблокировав ВСЗ.

ps u предоставит вам VSZ и RSS, которые представляют собой размер виртуальной памяти и размер резидентного набора. RSS - это объем физической памяти, выделенной процессу, а VSZ - это размер виртуальной памяти процесса. Если у вас работает несколько копий программы, большая часть памяти в VSZ будет разделена между этими процессами.

Я суммировал размер резидентного набора для всех таких процессов (как root):

ps ax -o rss | awk '{rss += $1;} END { print rss}'

В Solaris вы можете получить подробную информацию об использовании памяти процессом с помощью pmap команды. В частности, pmap -x <pid> показывает, какая часть памяти процесса совместно используется и сколько конкретно используется этим процессом. Это полезно для определения «предельного» использования памяти процессом - с помощью этого метода вы можете избежать двойного подсчета общих библиотек.