我在CentOS服务器上运行繁重的应用程序,我看到一个奇怪的内存行为.这是munin图的快照:
如您所见,提交的内存量逐渐增加,导致交换文件被使用.令我感到奇怪的是,非活动内存的数量也在不断增长.我的理解是,非活动内存实际上已释放内存但尚未被操作系统清理并放回到空闲内存池中.似乎缺乏清理工作导致内存耗尽,但我可能错了.
您能否提供一些提示,找出问题的原因和/或使CentOS回收非活动内存?
谢谢.
一些额外的信息:
1)我在/ tmp上安装了一个tmpfs,并且存储的文件数量增加(但它是非活动内存量的两倍).
2)cat / proc / meminfo(在比图像更晚的阶段)给出:
MemTotal: 14371428 kB
MemFree: 1207108 kB
Buffers: 35440 kB
Cached: 4276628 kB
SwapCached: 785316 kB
Active: 9038924 kB
Inactive: 3902876 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 14371428 kB
LowFree: 1207108 kB
SwapTotal: 10223608 kB
SwapFree: 6438320 kB
Dirty: 627792 kB
Writeback: 0 kB
AnonPages: 7844560 kB
Mapped: 49304 kB
Slab: 146676 kB
PageTables: 27480 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 17409320 kB
Committed_AS: 16471488 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 275852 kB
VmallocChunk: 34359462007 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
3)该应用程序是MySQL,Heritrix(http://crawler.archive.org/)和基于Tomcat的Java servlet的组合,用于管理事物.