我们有几台运行 RHEL4(变体)的 20-30 GB RAM 的服务器。他们目前运行的是 SMP i386 内核,而不是 x64,甚至不是hugemem 内核。这意味着 LowMem 被限制为 < 1G,因此 dentry_cache 和 ext3_inode_cache 分别为 100M 左右。我怎么知道这是否是一个问题?
这是编译一些 Java 时的典型 vmstat 报告:
$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 1 0 19493816 394740 922420 0 0 1058 2292 1491 1020 6 3 80 12
2 1 0 19519480 395244 850156 0 0 1179 1412 1329 1195 9 4 75 12
1 1 0 19557368 392616 828344 0 0 1783 1680 1498 1756 14 5 72 9
bi
当有这么多可用内存时,我不喜欢非零的方式。我想slabtop
可以更直接地指出问题,但我真的不明白如何解释它的输出。
更新:显而易见的问题是“为什么不迁移到 x64”,谷歌甚至在“64 位内核 32 位用户空间”上有很多点击。但是这些机器的主要目的是构建 32 位软件,我不知道如何保证不会受到切换内核的影响。
我认为 PAE 不会伤害到您,但有了这么多内存,为什么不转向 64 位系统。
http://linux-mm.org/
您可以在此处阅读有关 vmstat 的更多信息:
http ://www.helpmehost.com/linux/reading-vmstat-in-linux-part-1/ (和第 2 部分)
为什么不 sar 进行这种调查?