tomcat内存上涨问题

happy8211 2009-06-12 09:17:54
我重新做了机器,安装winxp sp2,安装jdk1.5.0_07,安装了tomcat5.5.17.

然后启动tomcat,监测tomcat内存,发现tomcat启动后,内存还是会慢慢的上涨

请问为什么会出现这样的现象,能怎么处理呢
...全文
208 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
huhaibo777 2009-06-26
  • 打赏
  • 举报
回复
如 9楼 的“内存当然会长了,直到你的-Xmx指定的最大值”
如果应用的问题,最后会 memory out
happy8211 2009-06-24
  • 打赏
  • 举报
回复
to java2000_net:
内存不能完全释放的话,会不会内存最后还是被消耗尽
happy8211 2009-06-24
  • 打赏
  • 举报
回复
tomcat5.5.17一般不会有内存上涨不释放的bug吧,是不是主要还会是程序访问问题。另外如果有list,没有赋null的话,是不是内存也不会释放;还有使用连接池的时候,访问数据库出现网络瞬断现象会不会吃内存不放呢
老紫竹 2009-06-24
  • 打赏
  • 举报
回复
内存当然会长了,直到你的-Xmx指定的最大值。

当然,中间空闲时也会进行垃圾回收并释放部分内存。
密码测试 2009-06-24
  • 打赏
  • 举报
回复
这个情况就很复杂了,可能有延迟加载,比方说有些servlet在第一次请求的时候才创建,然后又没有被destroy掉,这些东东都可能会占用你的内存的.
happy8211 2009-06-23
  • 打赏
  • 举报
回复
奥,这段时间没在,我现在详细描述一下:

操作系统 winxp sp2 应用服务器 tomcat5.5.17 虚拟机 jdk1.5.0_07

我自己的应用服务 test 应用服务器监测工具 jprofiler 测试工具 jmeter

我在晚上6点使用jprofiler监测tomcat运行情况,使用jmeter并发300个访问test/test.html,其中test.html就是一个空白的页面;在启动jmeter之前,tomcat使用内存是26mb,启动jmeter访问后,tomcat使用内存到了50mb,在第二天早上9点,我看到tomcat使用内存一直到了156mb,我使用jprofiler的run gc进行垃圾回收,tomcat使用内存到了120mb就不在被回收了;此时我停止jmeter的300个并发,并使用jprofiler的run gc进行垃圾回收,tomcat使用内存到了72mb就不在被回收了。

整个过程就是这样,为什么内存回不到初始状态或者只上涨一点呢,如果按这种上涨程度,那用不了几天内存就会吃到1g,请问这种问题怎么解决?
铁匠梁 2009-06-21
  • 打赏
  • 举报
回复
上下文都没有,无从分析考证
haoweishow01 2009-06-21
  • 打赏
  • 举报
回复
楼主没有说清楚啊,内存上涨是在使用的时候上涨还是,启动了之后,啥也不干,内存就一直上涨,这样的话上涨也该有个尽头啊。
mianfeidog 2009-06-14
  • 打赏
  • 举报
回复
可能你程序中的一些资源没有释放吧。比较经典的就是处理数据库的时候把 Connection ,Statement,ResultSet这三个对象设成了成员变量,而没有设成局部变量。lz的问题描述不是很清楚,所以不好解释。
ly437081075 2009-06-14
  • 打赏
  • 举报
回复
来看过一下
qqshs 2009-06-14
  • 打赏
  • 举报
回复
是不是用到了session

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧