kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 sachin
sachin
Вопрос

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

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

26 2008-08-04T07:34:44+00:00 4
 CloudyMarble
CloudyMarble
Редактировал вопрос 7-го февраля 2013 в 1:11
Программирование
size
unix
Решение / Ответ
John Siracusa
John Siracusa
5-го августа 2008 в 1:07
2008-08-05T01:07:50+00:00
Дополнительно
Источник
Редактировать
#8407278

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

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

 tzrm
tzrm
Редактировал ответ 9-го февраля 2018 в 3:19
17
0
 TLS
TLS
20-го сентября 2008 в 5:37
2008-09-20T05:37:54+00:00
Дополнительно
Источник
Редактировать
#8407279

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

 mauris
mauris
Редактировал ответ 15-го июня 2016 в 7:58
5
0
Mark Harrison
Mark Harrison
4-го августа 2008 в 8:21
2008-08-04T08:21:07+00:00
Дополнительно
Источник
Редактировать
#8407277

Да, вы правы, что нужно закрывать на VSZ.

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

 mauris
mauris
Редактировал ответ 15-го июня 2016 в 7:59
4
0
Jay Sheth
Jay Sheth
20-го марта 2014 в 2:59
2014-03-20T14:59:09+00:00
Дополнительно
Источник
Редактировать
#8407280

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

ps ax -o rss | awk '{rss += $1;} END { print rss}'
2
0
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 1 день назад
2
Денис Васьков
Зарегистрирован 2 дня назад
3
Dima Patrushev
Зарегистрирован 5 дней назад
4
sirojidddin otaboyev
Зарегистрирован 1 неделю назад
5
Елена Гайдамамакинат
Зарегистрирован 1 неделю назад
ID
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией