ATOP 显示红线 vmcom 和 vmlim。这是什么意思?

ATOP 显示红线 vmcom 和 vmlim。这是什么意思?

顶部的实用程序显示:

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 的线是红色的。我有 24GB RAM,但不使用交换区。我该如何解决这个问题?问题大吗?我正在工作,没有任何问题,但谁知道它是否不好?

2)vmcom和vmlim是什么意思?

CPU为四核。 RAID5 中的 3HDD。我有 Debian Squeeze x64 并使用 KVM 和 MySQL。

谢谢你的答案

答案1

主要问题的答案如下 - 但首先是关于 Mirra 建议的警告:

请小心这一点:

在: /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)。根据很棒的文章我们可以计算进程实际使用的内存:

已用内存 ~ 总计 - (缓存 + 缓冲 + 空闲) ~ 23.6G - ( 6.7G + 0.067G + 0.136G) ~ 16.7G

因此,进程实际上仅使用了 16.7G(来自安装的 23.6G RAM),顶部输出中的红线可能会被忽略。

答案2

手册atop页有助于解释这些数字实际表示的含义。

记忆

如果提交的虚拟内存超过限制(SWP 行中的“vmcom”和“vmlim”),则 SWP 行会因系统过度使用而显示颜色。

西南水务局

交换职业并过度使用信息。

该行包含磁盘上的交换空间总量(“tot”)和可用交换空间量(“free”)。

此外,还会显示提交的虚拟内存空间 ('vmcom') 和提交空间的最大限制 ('vmlim',默认情况下交换大小加上内存大小的 50%)。提交空间是为进程的所有私有内存空间分配保留的虚拟空间。如果配置了严格的过量使用处理(vm.overcommit_memory 为 2),内核仅验证提交的空间是否超出限制。

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

答案3

告诉atop您的是您的系统正在过度使用内存,如上所述内核:

过量使用策略是通过 sysctl 设置的vm.overcommit_memory

vm.overcommit_ratio过量使用量可以通过(百分比)或vm.overcommit_kbytes(绝对值)设置。

当前的超额使用限制和提交的金额 /proc/meminfo分别可以在 CommitLimit 和 Comfilled_AS 中查看。

为了防止过度使用,/proc/sys/vm/overcommit_memory您可以设置2.

相关内容