Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Как узнать потребление памяти процессом в Linux

Содержание

Все инструкции

В Linux потребление памяти процессами измеряется двумя значениями, VSZ и RSS (обе измеряются в байтах).

RSS – переводится как постоянное потребление памяти (Resident Set Size) и показывает сколько в момент вывода команды занято в оперативной памяти.
Также стоит отметить что он показывает весь стёк физически выделенной памяти.

VSZ – виртуальная память (Virtual Memory Size)

Посмотреть список процессов с сортировкой по этим параметрам можно командой:

Для RSS (Resident Set Size):

ps -aux --sort -rss

Для VSZ (Virtual Memory Size):

ps -aux --sort -vsz

 

В зависимости от запущенной команды, результаты вывода будут отображаться в приоритете по занимаему месту процессом в оперативной памяти (RSS)
или количеству занимаемого места в виртуальной памяти (VSZ) в порядке убывания.

$ ps -aux --sort -rss
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user      30799 51.
2 8.1 2733764 285136 ? Rl 09:25 5:30 /usr/lib/chromium-browser/chromium-browser --ppapi-flash-path=/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so --ppap user 2800 0.1 6.6 9972812 234184 ? Sl окт31 1:26 /usr/bin/plasmashell --shut-up user 31308 2.4 5.3 1767496 188672 ? Sl 09:26 0:13 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971 user 31011 3.9 5.3 1793296 186812 ? Sl 09:25 0:25 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971 user 31369 5.5 4.8 1378568 171328 ? Sl 09:28 0:23 /usr/lib/libreoffice/program/soffice.bin --writer --splash-pipe=5 user 14442 12.1 4.2 1050808 150148 ? Sl 01:19 60:04 /usr/lib/x86_64-linux-gnu/libexec/kscreenlocker_greet --graceTime 5000 --ksldfd 26 user 31111 0.9 3.8 1708496 134564 ? Sl 09:25 0:06 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971 user 1225 0.
0 3.7 3639148 132092 ? Sl окт31 1:00 /usr/bin/plasmashell --shut-up user 31078 0.6 3.7 1724480 130724 ? Sl 09:25 0:03 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971 user 30986 0.7 3.3 1717860 117660 ? Sl 09:25 0:04 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971 user 1216 1.7 3.2 3271220 113736 ? Sl окт31 20:36 kwin_x11

Важными столбцами являются:

  • USER   Пользователь, от имени которого работает процесс
  • PID      Идентификатор процесса
  • RSS      Физическая память, занятая процессом
  • VSZ      Виртуальная память

Из примера видно, что большую часть памяти (RSS) занимают процессы браузера chromium.

Тэги: 

Cent OS, Debian, Ubuntu, FreeBSD

Для сброса пароля укажите Email, зарегистрированный в личном кабинете.

Email

Мы перезвоним в будни с 9:30 до 18:30(по московскому времени).

На указанный email будет отправлена ссылка для подтверждения эл.почты. После подтверждения эл.почты Вы получите доступ в личный кабинет.

Нажимая кнопку, Вы соглашаетесь с условиями договора-оферты, условиями лицензирования Microsoft и политикой обработки персональных данных.

Что такое RSS-память в Linux?

Опубликовано

RSS – это Resident Set Size (размер резидентного набора) и используется для того, чтобы показать, сколько памяти выделено данному процессу и находится в оперативной памяти. … Он включает в себя всю память, к которой процесс может получить доступ, включая память, которая выгружается, память, которая выделена, но не используется, и память из общих библиотек.

В вычислительной технике размер резидентного набора (RSS) – это часть памяти, занимаемая процессом, которая находится в основной памяти (RAM). Остальная часть занятой памяти существует в пространстве подкачки или файловой системе, либо потому, что некоторые части занятой памяти были выведены на страницу, либо потому, что некоторые части исполняемого файла так и не были загружены.

Содержание

  1. Что такое VSS и RSS в команде top?
  2. Что такое Vsize в Linux?
  3. Что означает VSZ в Linux?
  4. Что такое Total_vm и RSS?
  5. Что такое память PSS?
  6. Что такое RSS в команде top?

VSS (сообщается как VSZ из ps) – это общее доступное адресное пространство процесса. Этот размер также включает память, которая может быть нерезидентной в оперативной памяти, например, malloc, которая была выделена, но не записана. … RSS – это общая память, фактически находящаяся в оперативной памяти для процесса.

Что такое Vsize в Linux?

VSIZE (РАЗМЕР виртуальной памяти) – объем памяти, который процесс использует в настоящее время. Сюда входит объем в оперативной памяти и объем в подкачке. RSS (Resident Set Size) – часть процесса, которая существует в физической памяти (RAM). Остальная часть программы существует в swap.

Что означает VSZ в Linux?

VSZ – это сокращение от Virtual Memory Size (размер виртуальной памяти). Это общий объем памяти, к которому процесс может гипотетически получить доступ. Он учитывает размер самого двоичного файла, любых связанных библиотек, а также стека или кучи. Когда процесс запущен, память VSZ становится памятью RSS, о которой мы сейчас и поговорим.

Размер виртуальной памяти, которую использует процесс, указывается как “total-vm”. Часть ее реально отображается на саму оперативную память (выделенную и используемую). Это “RSS”. … Это анонимная память (“anon-rss”), а также блоки памяти RSS, которые отображены на устройства и файлы (“file-rss”).

Что такое память PSS?

В вычислительной технике пропорциональный размер набора (PSS) – это часть основной памяти (RAM), занимаемая процессом и состоящая из частной памяти этого процесса плюс доля общей памяти с одним или несколькими другими процессами. Неразделенная память, включая долю общей памяти, сообщается как PSS.

RSS – это размер резидентного набора, который используется для того, чтобы показать, сколько памяти выделено данному процессу и находится в оперативной памяти. … VSZ – это размер виртуальной памяти. Он включает всю память, к которой процесс может получить доступ, включая память, которая вытеснена, память, которая выделена, но не используется, и память из общих библиотек.

Linux

пс — память VSZ и RSS и пространство подкачки

Задавать вопрос

спросил

Изменено 7 лет, 8 месяцев назад

Просмотрено 15 тысяч раз

Я пытаюсь понять использование памяти в крупномасштабной симуляции, которую мы пытаемся запустить. Когда я запускаю его, “ps” сообщает

 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
мой пользователь 5252 97,7 0,5 5751412 377392 ? Рс 19:49 1:15 моя программа
 

В этой симуляции у нас есть три массива, каждый из которых занимает 1,6 ГБ (200 миллионов двойных значений). Основываясь на информации в

Что такое RSS и VSZ в управлении памятью Linux

, я ожидал, что эта память будет указана в RSS, но RSS составляет всего 377 МБ. Основываясь на информации в потоке stackoverflow, я пришел к выводу, что память необходимо выгрузить, и посмотрел на «free -m»

 Всего использовано свободных общих буферов в кэше
Мем: 64391 5985 58406 0 463 1295
-/+ буферы/кэш: 4226 60164
Обмен: 4766 0 4766
 

и своп вообще не используется! Кроме того, что он слишком мал в любом случае. Так откуда же взялась эта разница между RSS и VSZ? Почему массивы, которые мы выделяем, являются частью VSZ, а не частью RSS?

Буду признателен за любую помощь

  • память
  • пс

2

Простой ответ на ваш вопрос заключается в том, что массивы определяются в виртуальном пространстве, поэтому память для массива отображается в VSZ только тогда, когда вы будете использовать массив, он станет частью RSS.

на мой взгляд, сохраняя простоту мышления, вы получите объяснение. VSZ — это виртуальная память, которую может использовать процесс, а RSS — это физическая память, фактически выделенная в данный момент. Когда виртуальная память фактически используется, ОС выделяет память, что увеличивает RSS.

5

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Память RSS и VSZ — Примечания по разработке/тестированию производительности программного обеспечения

Аналогия-1

RSS — это размер резидентного набора, который используется для отображения того, сколько памяти выделено для этого процесса и находится в ОЗУ. Он не включает память, которая выгружается. Он включает память из общих библиотек, если страницы из этих библиотек действительно находятся в памяти. Он включает в себя всю память стека и кучи.

VSZ — это размер виртуальной памяти. Он включает в себя всю память, к которой может получить доступ процесс, включая память, которая выгружена, память, которая выделена, но не используется, и память из общих библиотек.

Таким образом, если процесс A имеет двоичный файл размером 500 КБ и связан с 2500 КБ разделяемых библиотек, имеет 200 КБ выделений стека/кучи, из которых 100 КБ фактически находятся в памяти (остальные подкачаны или не используются), и он фактически загрузил только 1000 КБ разделяемые библиотеки и 400К собственного бинарника тогда:

RSS: 400 КБ + 1000 КБ + 100 КБ = 1500 КБ

VSZ: 500 КБ + 2500 КБ + 200 КБ = 3200 КБ

. Значения RSS вы можете легко получить больше места, чем есть в вашей системе.

Выделенная память также может не находиться в RSS до тех пор, пока она не будет фактически использована программой. Таким образом, если ваша программа заранее выделила кучу памяти, а затем использует ее с течением времени, вы можете увидеть, как RSS растет, а VSZ остается прежним.

Существует также PSS (размер пропорционального набора). Это более новая мера, которая отслеживает общую память как долю, используемую текущим процессом. Таким образом, если раньше было два процесса, использующих одну и ту же общую библиотеку:

PSS: 400 КБ + (1000 КБ/2) + 100 КБ = 400 КБ + 500 КБ + 100 КБ = 1000 КБ. Все потоки используют одно и то же адресное пространство, поэтому RSS, VSZ и PSS для каждого потока идентичны всем другим потокам в процессе. Используйте ps или top для просмотра этой информации в linux/unix.

Analogy-2

В этой статье объясняются три индикатора, которые можно использовать для измерения потребления памяти одним процессом в Linux. VSZ (размер виртуальной памяти), RSS (резидентный размер набора) и PSS (пропорциональный размер набора).

Хотя это будет недостаточно точно, давайте рассмотрим аллегорию, чтобы понять идею.

Комнату делят трое. Мы будем считать, что каждый человек представляет собой процесс, а расходы на проживание представляют потребление памяти. Измерение потребления памяти одним процессом будет представлено в этой аллегории как подсчет общих расходов на проживание одного человека.

У каждого человека есть собственная линия сотового телефона, которая не используется совместно. Все три индикатора, VSZ, RSS и PSS, будут учитывать счета за сотовую связь как расходы на проживание каждого человека индивидуально, и с этим нет проблем.

В общей комнате есть место в гараже, которое можно использовать, если они заплатят за него, но все они не водят машину и не пользуются им. Тем не менее, VSZ будет учитывать всю стоимость гаража как расходы на проживание каждого человека, даже если они его не используют. Таким образом, VSZ представляет собой общие расходы на проживание, когда они тратят на все возможные вещи, независимо от фактического использования. RSS и PSS учитывают только расходы, которые фактически используются, и, следовательно, они не будут учитывать стоимость места в гараже, поскольку оно не используется.

Так как они используют подключение к Интернету и кабельное телевидение, они разделили эти счета. Тем не менее, RSS будет считать всю сумму интернет-соединения и кабельного телевидения как расходы на проживание каждого человека, даже если они делят его и делят счет. Идея RSS состоит в том, чтобы рассчитать расходы на проживание, поскольку она не была разделена ни с кем другим.

PSS будет учитывать только одну треть счета за интернет-соединение и кабельное телевидение в качестве расходов на проживание каждого человека, потому что они делят его. Это более разумно, чем RSS, поскольку учитывается тот факт, что они им делятся.

Давайте немного усложним аллегорию, чтобы понять ограничения PSS. Один человек постоянно сидит в интернете и не так много смотрит телевизор. Следовательно, это лицо оплачивает 50% счета за подключение к Интернету и 20% счета за кабельное телевидение по договоренности. Однако PSS не может справиться с такими ситуациями. Он просто рассчитает одну треть счета за подключение к Интернету и счета за кабельное телевидение как расходы на проживание каждого человека.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *