Linux 上的 JBoss 机器内存使用行为很奇怪

Linux 上的 JBoss 机器内存使用行为很奇怪

我在一台装有两个 JBoss 实例和一个 Tomcat 实例的 Linux 机器上遇到了奇怪的内存问题。直到 7 月 20 日之前,一切都运行良好。此后,可用内存(总使用量 - 缓冲区 - 缓存)已从 3-4GB 降至 500MB 以下。我为这台服务器添加了 6 GB RAM,但结果还是一样。

这是每个实例的实际内存配置,具有 16 GB RAM 服务器:

Tomcat(7.0.22):堆 - 4G,MaxPermSize - 1G,Jboss inst1(5.1.0.GA):堆 - 1 GB,MaxPermSize = 512 Mb Jboss inst2(6.0.0):堆 - 3 GB,MaxPermSize = 512 Mb

服务器上未部署任何应用程序的新版本。

发行版:Debian 5.0.9 内核:2.6.26-2-amd64

如果我终止这些进程,SO 只会释放大约 6 GB 的 RAM,正如我们所见:

apora:~# free -m; kill -9 17431; sleep 10; free -m
             total       used       free     shared    buffers     cached
Mem:         16090      16004         86          0          0         13
-/+ buffers/cache:      15989        100
Swap:         4580       2301       2279
             total       used       free     shared    buffers     cached
Mem:         16090      12597       3492          0          0         13
-/+ buffers/cache:      12583       3506
Swap:         4580       1439       3141
apora:~#

终止 Jboss Inst02:

apora:~# kill -9 20385
apora:~# free -m
             total       used       free     shared    buffers     cached
Mem:         16090      10908       5182          0          1         21
-/+ buffers/cache:      10885       5204
Swap:         4580        723       3857
apora:~#

终止 Jboss Inst01:

apora:~# free -m
             total       used       free     shared    buffers     cached
Mem:         16090      10207       5883          0          1         21
-/+ buffers/cache:      10183       5906
Swap:         4580         33       4547
apora:~#

我终止了其他进程,如 nscd、dsmc(tivoli TSM 代理)以及其他根据 top 消耗内存的进程,但我的系统仍然消耗大约 10 GB 的 RAM。

cat /proc/meminfo 的结果显示有少量的 Slab 被使用并且可回收:

apora:~# cat /proc/meminfo
MemTotal:     16476656 kB
MemFree:         87588 kB
Buffers:        233468 kB
Cached:         265064 kB
SwapCached:          0 kB
Active:        5876332 kB
Inactive:       304664 kB
SwapTotal:     4690928 kB
SwapFree:      4690304 kB
Dirty:             516 kB
Writeback:           0 kB
AnonPages:     5682444 kB
Mapped:          50244 kB
Slab:           152660 kB
SReclaimable:   118892 kB
SUnreclaim:      33768 kB
PageTables:      26768 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
WritebackTmp:        0 kB
CommitLimit:  12929256 kB
Committed_AS: 10292968 kB
VmallocTotal: 34359738367 kB
VmallocUsed:    171948 kB
VmallocChunk: 34359565951 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
HugePages_Surp:      0
Hugepagesize:     2048 kB

有人知道发生了什么事吗?

谢谢,

安德烈

相关内容