was应用环境内内存不断上涨问题
我们现在正在实施一个项目,其WEB应用服务器选用WebSphere5.0.1,数据库采SQLServer2000,服务器硬件配置为HP580(4CPU、2G内存),但我在实施过程中发现,java占用的内存不断地往上涨,达到1.2G的内存占用后才开始稳定起来,而且涨上去之后即使会话过期了(或晚上的使用低谷),内存也不会释放,我们已经仔细查看过代码,应该不会存在代码的内存泄露问题,我们在WSAD环境下测试好象也没有这种现象。并且我同一个应用程序在其他地方都不存在相同的问题(应用服务器也采用WebSphere 5.0.1,服务器为2CPU、2G内存,数据库为oracle),我现在是百思不得其解,望高手们指点迷津。 问题点数:0、回复次数:6Top
1 楼liuylei(劲岩)回复于 2005-04-04 10:16:05 得分 0
那是因为缓存了很多东西。Top
2 楼fjw3699(asdf)回复于 2005-04-04 13:33:07 得分 0
你是说1.2G内存中有好一部分已经做为缓存了,实际内存占用没这么多是吗?有什么工具可以检查这部分内存是否已经作为缓存了?Top
3 楼lydong(西瓜水)回复于 2005-04-04 17:47:38 得分 0
检查WAS配置是否一致,找出不同点;程序中是否大的对象作为有静态变量;数据库驱动问题
服务器 > 应用程序服务器 > server > 动态高速缓存服务(高速缓存大小,缺省优先级 )
服务器 > 应用程序服务器 > server_name > Web 容器 > 会话管理(内存中最大会话量)
Top
4 楼dychj(中场自由人)回复于 2005-04-05 14:16:28 得分 0
系统占用内存是很正常的,正常运行的时候应该是内存先涨到一定程序,然后系统自动回收内存,内存降到一定程序,然后随系统的运行,内存使用也会升高。
这是JVM的本身的机制,使用高峰时只会升高的波峰周期变短,不一定是内存出问题。
缓存只是在你开的JVM中使用一部门,跟总内存没有关系。Top
5 楼iceleighton(冰雪)回复于 2005-04-10 21:00:49 得分 0
JVM的收缩操作事由系统决定的,不是你的压力降下来了,Java就会把已经申请的内存还给操作系统。Top
6 楼jxhty(nifeng)回复于 2005-04-22 15:41:46 得分 0
使用Tivoli Performance Viewer监控一下运行 时的JVM,如果可用内存每次都可以恢复到高点说明你的应用系统没有内存泄漏。Top




