我们有几台服务器,内存为 20-30 GB,运行 RHEL4(变体)。它们当前运行的是 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”,Google 甚至有很多关于“64 位内核 32 位用户空间”的搜索结果。但这些机器的主要目的是构建 32 位软件,我不知道如何保证不会受到切换内核的影响。
答案1
我认为 PAE 不会对您造成伤害,但是有了那么多内存,为什么不转到 64 位系统呢?
http://linux-mm.org/
您可以在这里阅读有关 vmstat 的更多信息:
http://www.helpmehost.com/linux/reading-vmstat-in-linux-part-1/(及第 2 部分)
为什么不进行这种调查?