Сведения о вопросе

FELL

16:03, 1st July, 2020

Теги

unix   size    

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

Просмотров: 440   Ответов: 4

Что такое правильный способ, чтобы получить размер процесс на Solaris, HP-UX и AIX ? Следует ли нам использовать top или ps -o vsz или что-то еще?



  Сведения об ответе

FAriza

18:03, 1st July, 2020

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

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


  Сведения об ответе

#hash

18:03, 1st July, 2020

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


  Сведения об ответе

SKY

18:03, 1st July, 2020

Да, вы правы, чтобы запереть на VSZ.

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


  Сведения об ответе

Chhiki

18:03, 1st July, 2020

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться