我们试图解释一些虚拟内存数字的含义,这些虚拟内存数字在自定义Web服务器上看起来不合适(Apache使用经过修改的特定于任务的代码编译)。
服务器是双核6核Xeon,16GB RAM,运行CentOS 6.3。交换空间为7GB。
以下是我们所看到的:
sar -B报告高故障/大约250,000和pgpgout / s为450,但pgpgin / s仅为0到1.7。 pgfree / s也很高 - 大约85,000。
以下是几行sar输出:
01:25:01 PM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
01:25:31 PM 1.75 465.82 251459.20 0.03 79299.33 0.00 0.00 0.00 0.00
01:26:01 PM 0.00 459.65 253919.76 0.00 77851.65 0.00 0.00 0.00 0.00
01:26:31 PM 0.00 452.16 272236.57 0.00 82255.95 0.00 0.00 0.00 0.00
vmstat报告没有交换或换出。使用的交换空间非常小(112k),并且有足够的可用RAM:
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 112 3960132 252488 9516780 0 0 9 66 8 4 16 7 77 0 0
3 0 112 3958768 252488 9517068 0 0 0 0 10951 19238 9 1 90 0 0
3 0 112 3957396 252496 9517336 0 0 0 68 10947 18291 8 1 90 0 0
2 0 112 3953720 252544 9517660 0 0 0 692 13714 20606 9 3 87 1 0
系统负载较低(1到2),服务器似乎运行正常,但页面输出和页面错误的数量似乎令人担忧。任何Linux虚拟内存专家?