Что я должен знать об управлении памятью?

в первую очередь:

  • Я не использую stackadmin или подобный, поэтому не голосуйте за перемещение там,
  • Я читаю вершину человека и бумагу, "что каждый программист должен знать о памяти..."
  • Мне нужно действительно простое объяснение как для умственно отсталого ;)

Наличие после главного дампа:

top - 11:21:19 up 37 days, 21:16,  4 users,  load average: 0.41, 0.75, 1.09
Tasks: 313 total,   5 running, 308 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.4%us,  0.6%sy,  0.9%ni, 96.2%id,  0.1%wa,  0.0%hi,  1.9%si,  0.0%st
Mem:  132103848k total, 131916948k used,   186900k free,    54000k buffers
Swap: 73400944k total, 73070884k used,   330060k free, 13931192k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3305 tudb      25  10  144m  52m  940 R  6.0  0.0   1306:09 app 
 3011 tudb      15   0 71528  19m  604 S  3.3  0.0 171:57.83 app 
 3373 tudb      25  10  209m  93m  940 S  3.0  0.1   1074:53 app 
 3338 tudb      25  10  144m  47m  940 R  2.7  0.0 780:48.48 app
 4227 tudb      25  10  208m  99m  904 S  1.3  0.1 198:56.01 app
 8506 tudb      25  10 80.7g  49g  932 S  2.0 39.6 458:31.22 app 

Я задаюсь вопросом, что:

  • RES (мое expl. потребление физической памяти? посмотрите 49 ГБ),
  • VIRT (диск с отображенной памятью для кэширования? посмотрите 80 ГБ),
  • SHR (поделившиеся страницы?)
  • Подкачка: (это кэшируется маркировка - для диска с отображенной памятью в кэш подкачки?)
  • Должен суммировать RES, дают MEM: X используемый? или возможно сумма VIRT?
2
задан 21.03.2014, 21:13

1 ответ

Прямо от top(1):

VIRT - Виртуальное Изображение (Кбит) общий объем виртуальной памяти используется задачей. Именно весь код, данные и совместно использованные библиотеки плюс страницы были выгружены. (Отметьте: можно определить STATSIZE=1 переменная среды и VIRT будут вычислены от /proc/#/state Поле VmSize.)

VIRT = SWAP + RES.

ПОДКАЧКА - Подкачанный размер (Кбит) выгруженный часть общего изображения виртуальной памяти задачи.

RES - Резидентный размер (Кбит) неподкачанная физическая память задача использовал.

RES = CODE + DATA.

КОД - Размер кода (Кбит) объем физической памяти, посвященной исполняемому коду, также известному как 'текстовый размер' резидентного набора или TRS.

ДАННЫЕ - размер Data+Stack (Кбит) объем физической памяти, посвященной кроме исполняемого кода, также известного как 'размер' резидентного набора данных или ДОКТОР.

SHR - Общий размер Мадам (Кбит) объем общей памяти используется задачей. Это просто отражает память, которая могла быть потенциально совместно использована с другими процессами.

Также читайте, Linux съел мою RAM.

0
ответ дан 12.12.2019, 07:00

Теги

Похожие вопросы