ATOP muestra la línea roja vmcom y vmlim. Qué significa eso?

utilidad en la parte superior muestra:

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 | 

Mis preguntas son las siguientes: 1) Todo es blanco, solo la línea con SWP es ROJA. Tengo 24GB de RAM y no uso swap. ¿Cómo puedo arreglar esto? ¿Es un gran problema? Estoy trabajando sin problemas, pero ¿quién sabe si es malo o no?

2) ¿Qué significa vmcom y vmlim?

CPU es Quad Core. 3HDDs en RAID5. Tengo Debian Squeeze x64 y el uso de KVM y MySQL.

Gracias por su respuesta

    La respuesta a la consulta principal está más abajo, pero primero una advertencia sobre la sugerencia de Mirra:

    Ten cuidado con esto:

    En: / proc / sys / vm / overcommit_memory Intento poner allí 2.

    En ese caso, incluso cuando la memory física está disponible, todos los processs solicitan memory desde el sistema operativo cuando vmcom mayor que vmlim recibirá errores (he recibido muchos errores y fallas con las aplicaciones básicas del sistema como compiz). Y debido a:

    vmlim = SWAP_size + 0.5 * RAM_size.

    donde 0.5 (50%) es el valor pnetworkingeterminado para el parámetro / proc / sys / vm / overcommit_ratio, puede get fácilmente muchos errores como yo.


    Respuesta a la pregunta principal: es mejor revertir los cambios en el parámetro overcommit_memory al valor pnetworkingeterminado (0 para mí (Ubuntu 12.04 LTS), pero puede ser 1 para otros sistemas operativos). Según el gran artículo , podemos calcular la memory utilizada realmente por los processs:

    MemoryUsed ~ tot – (cache + buff + free) ~ 23.6G – (6.7G + 0.067G + 0.136G) ~ 16.7G

    Por lo tanto, solo los processs utilizan 16.7G (desde 23.6G RAM instalada) y la línea roja en la parte superior de la salida puede ser ignorada.

    La página de atop hombre ayuda a explicar lo que los numbers realmente indican.

    Memoria

    Si la memory virtual comprometida excede el límite ('vmcom' y 'vmlim' en la línea SWP), la línea SWP se colorea debido a una sobrecomisión del sistema.

    SWP

    Intercambiar información de ocupación e sobrecompromiso.

    Esta línea contiene la cantidad total de espacio de intercambio en disco ('tot') y la cantidad de espacio de intercambio libre ('libre').

    Además, se muestra el espacio de memory virtual comprometida ('vmcom') y el límite máximo del espacio comprometido ('vmlim', que es, por defecto, el tamaño de intercambio más el 50% del tamaño de la memory). El espacio comprometido es el espacio virtual reservado para todas las asignaciones de espacio de memory privada para processs. El kernel solo verifica si el espacio comprometido excede el límite si se configura un manejo estricto de sobrecompromiso (vm.overcommit_memory es 2).

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

    Lo que más te está diciendo es que tu sistema está cometiendo un exceso de memory, como se describe por:

    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/vm/overcommit-accounting;hb=HEAD

    Para evitar la sobrecomisión, en /proc/sys/vm/overcommit_memory puede establecer 2 .