AIX下java进程堆内存存在大量空余,但rss内存不断增加

AIX下运行一个java进程,发现使用内存不断增加,但通过verbose:gc分析,发现其分配的堆内存一直都是70% 空余。即非堆内存一直增加,不知怎么回事,java进程逻辑比较简单,涉及定时读文件操作(一个文本文件大约6Mb),对读出的内容进行分析,插入数据库中,这之中,还有一些反射操作。
我在Windows Xp环境下进行测试,发现一切正常,内存会自动减少。
但我把程序放到AIX5.3 中,jdk使用1.4.2,运行时就发现如上所描述的现象,在ps avg查看时,发现rss项一直在增加,尽管增加的不多,但却一直增加(我运行了两天,利用crontab,发现java进程的rss没有减少过,即使没有文件,定时器空跑,内存也不降低)。
有哪位大侠遇到过此现象或有一些建议,能否给出解决方法,小弟在此拜谢了。

另外,java启动脚本如下:java -Xmx256m -Xms200m -Xloratio0.3 -verbose:gc myjar.jar

 

 

 

目前基本上清楚了,程序本身没有问题,ibm的jre的gc策略比较特殊,当内存增长到一定程度(好像是堆内存分配线到达Xmx,即堆内存到达了Xmx,但其中还有很多不连续的空余内存)时,则开始降低。
就像oracle的高水位线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值