公司的程序,运行时内存一直增加不释放。我用JProfiler 和JConsole检测了内存情况,使用还算正常。监控到内存会自动GC
而且保持在500M used,400M free 的情况,但是windows中线程管理中看到的却是1.6G的内存占用,而且使用那些工具手动GC
系统使用的内存变成 20M used ,800m free 。可是windows中线程管理中看到的还是1.6G。请问这是怎么回事?该怎么调整呢。时间久了会报内存溢出。
而且保持在500M used,400M free 的情况,但是windows中线程管理中看到的却是1.6G的内存占用,而且使用那些工具手动GC
系统使用的内存变成 20M used ,800m free 。可是windows中线程管理中看到的还是1.6G。请问这是怎么回事?该怎么调整呢。时间久了会报内存溢出。
解决方案 »
- 请问jnlp启动客户端的时候报No permission to capture from applets的解决办法
- 请教一下,Action中的方法,如何实现单例
- action与jsp之间传递Map对象的问题
- 谁有SSH集成开发的视频教程呀,给我一个好不,
- 如何在Eclipse环境下配置运行heritrix开源项目
- 有请高手:基于struts下开发的问题,急!!!
- tomcat(hp)+mysql(redhat 8)的500错误。求救(解决问题送200)
- 从数据库中读取照片显示在jsp页面中,在tomcat中可以正常显示,为什么在weblogic中是一堆乱码?附源程序,很短
- 线程打断返回值问题
- springboot和Mybatis整和时趟过的坑!
- myeclipse6.5使用c标签和EL出错……求助
- 我们爱分享---读取数据当中有“口”型特殊符号时解决办法(写数据时候)
内存溢出是主要问题,但你说的这些现象对帮助分析内存溢出没意义。
请继续使用工具来监控JVM,定义执行GC,然后检查哪些对象在每次GC之后持续增长。也就是GC并不能回收且持续增长的对象;这才是重点。
程序使用了内存之后,gc之后jvm中变小,操作系统线程中看到的内存永远不会变小吗?java占用了之后不会再释放给操作系统了吗?