ATOP показывает красную линию vmcom и vmlim. Что это означает?

15

Утилита поверх показывает:

ATOP - MyServer         2013/01/07  00:03:57               10 seconds elapsed
PRC | sys   2.18s | user   8.33s | #proc    141 | #zombie    0 | #exit      0 |
CPU | sys     21% | user    139% | irq       0% | idle    228% | wait     11% |
cpu | sys      5% | user     40% | irq       0% | idle     51% | cpu002 w  3% |
cpu | sys      5% | user     35% | irq       0% | idle     56% | cpu001 w  3% |
cpu | sys      7% | user     30% | irq       0% | idle     61% | cpu000 w  2% |
cpu | sys      4% | user     34% | irq       0% | idle     61% | cpu003 w  1% |
CPL | avg1   1.00 | avg5    1.12 | avg15   1.25 | csw   389208 | intr  223367 |
MEM | tot   23.6G | free  136.3M | cache   6.7G | buff   66.5M | slab  205.1M |
SWP | tot    0.0M | free    0.0M |              | vmcom  21.8G | vmlim  11.8G |
DSK |         sdc | busy     12% | read      70 | write    109 | avio    6 ms |
DSK |         sde | busy      4% | read      37 | write    131 | avio    2 ms |
DSK |         sdd | busy      3% | read      38 | write    144 | avio    1 ms |
NET | transport   | tcpi     160 | tcpo     171 | udpi       0 | udpo       0 |
NET | network     | ipi      188 | ipo      172 | ipfrw      0 | deliv    160 |
NET | vnet1    0% | pcki     510 | pcko     442 | si   60 Kbps | so   26 Kbps |
NET | eth0     0% | pcki     449 | pcko     527 | si   27 Kbps | so   65 Kbps |
NET | vnet0    0% | pcki       0 | pcko      44 | si    0 Kbps | so    3 Kbps |
NET | vnet7    0% | pcki       1 | pcko      44 | si    0 Kbps | so    3 Kbps |
NET | vnet2    0% | pcki       0 | pcko      43 | si    0 Kbps | so    3 Kbps |
NET | vnet3    0% | pcki       0 | pcko      43 | si    0 Kbps | so    3 Kbps |
NET | vnet6    0% | pcki       0 | pcko      43 | si    0 Kbps | so    3 Kbps |
NET | vnet5    0% | pcki       0 | pcko       5 | si    0 Kbps | so    0 Kbps |
NET | vnet4    0% | pcki       0 | pcko       5 | si    0 Kbps | so    0 Kbps |
NET | vnet8    0% | pcki       0 | pcko       5 | si    0 Kbps | so    0 Kbps |
NET | bond0  ---- | pcki     449 | pcko     527 | si   27 Kbps | so   65 Kbps |
NET | br0    ---- | pcki     157 | pcko     126 | si   12 Kbps | so   17 Kbps |
NET | lo     ---- | pcki      46 | pcko      46 | si    3 Kbps | so    3 Kbps |

Мои вопросы следующие: 1) Все белое, только строка с SWP - КРАСНАЯ. У меня 24ГБ ОЗУ, и я не использую своп. Как я могу это исправить? Это большая проблема? Я работаю без проблем, но кто знает, плохо это или нет?

2) Что означают vmcom и vmlim?

Процессор четырехъядерный. 3HDD в RAID5. У меня есть Debian Squeeze x64 и использующий KVM и MySQL.

Спасибо за ответ

Мирра
источник

Ответы:

6

Ответ на основной запрос приведен ниже - но сначала предупреждение о предложении Мирры:

Будьте осторожны с этим:

В: / proc / sys / vm / overcommit_memory я пытаюсь поставить там 2.

В этом случае, даже когда физическая память доступна, все процессы, запрашивающие память у ОС, когда vmcom больше, чем vmlim, будут получать ошибки (у меня много ошибок и происходит сбой в основных системных приложениях, таких как compiz). И из-за:

vmlim = SWAP_size + 0,5 * RAM_size.

где 0.5 (50%) является значением по умолчанию для параметра / proc / sys / vm / overcommit_ratio, вы можете легко получить много ошибок, как я.


Ответ на главный вопрос: лучше вернуть изменения в параметре overcommit_memory обратно к значению по умолчанию (для меня 0 (Ubuntu 12.04 LTS), но может быть 1 для других ОС). В соответствии с отличной статьей мы можем вычислить память, фактически используемую процессами:

MemoryUsed ~ tot - (кеш + бафф + свободный) ~ 23.6G - (6.7G + 0.067G + 0.136G) ~ 16,7G

Таким образом, только 16.7G фактически используются процессами (из 23.6G установленной оперативной памяти), и красная линия на выходе может быть проигнорирована.

Юрий
источник
Так можно ли считать это ошибкой в ​​самом начале, если предупреждение на самом деле не важно?
joeytwiddle
1

atopСтраница человек помогает объяснить , что цифры на самом деле указывают.

Память

Если выделенная виртуальная память превышает лимит («vmcom» и «vmlim» в строке SWP), линия SWP окрашивается из-за перегрузки системы.

SWP

Поменяйте местами занятие и информацию о перегрузках.

Эта строка содержит общий объем пространства подкачки на диске ('tot') и количество свободного пространства подкачки ('free').

Кроме того, отображается выделенное пространство виртуальной памяти («vmcom») и максимальный предел выделенного пространства («vmlim», то есть по умолчанию размер подкачки плюс 50% объема памяти). Выделенное пространство - это зарезервированное виртуальное пространство для всех выделений частного пространства памяти для процессов. Ядро только проверяет, превышает ли зафиксированное пространство ограничение, если настроена строгая обработка overcommit (vm.overcommit_memory равен 2).

https://linux.die.net/man/1/atop

Loren
источник
1
atopи его руководство является прекрасным ресурсом для понимания внутренней работы Linux. :)
Немо