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

голоса
23

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

Задан 04/08/2008 в 08:34
источник пользователем
На других языках...                            


4 ответов

голоса
17

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

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

Ответил 05/08/2008 d 02:07
источник пользователем

голоса
5

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

Ответил 20/09/2008 d 06:37
источник пользователем

голоса
3

Да, вы правы, чтобы зафиксировать на VSZ.

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

Ответил 04/08/2008 d 09:21
источник пользователем

голоса
2

Я подвел итог резидентного размера для всех процессов, как это (как корень):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
Ответил 20/03/2014 d 15:59
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more