Linux下如何定位JAVA进程直接内存的泄漏及top和jmap查看内存的关系 本帖最后由 jiangguilong2000 于 2013-04-19 17:42:46 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jprofiler 可以看到所有内存消耗吗? 问题1:top的RES值和JAVA堆内存之间到底是一个什么关系?——大概1、2个月有个帖子讨论过,挺长的,不过一下子找不到了;总的来说,两者很难找到非常精确匹配的计算关系,因为两者统计的口径是不同的;操作系统关心的是被应用程序所占用的,而JVM则只是关心堆中被分配出去的;这里面有JVM自己开销的、有碎片内存无法使用的、还有已使用完毕待回收的 等等问题。——总的来说,我觉得如果不是为了底层开发之类的问题,不值得在此问题进行深入研究。问题2:如何定位JAVA进程直接内存的泄漏?——很遗憾,并没有什么招数来直接定位,否则内存泄露就不会是一个让大家闻风丧胆的问题了;各类工具都只是提供给你一定的手段去发现征兆、缩小怀疑范围,没有说直接帮你定位,那听起来就不是IT而是神话了。——常规招数就是:范围 与 层次,两个方向不断通过测试和监控来缩小 怀疑范围,从而最终定位内存泄漏点。 求绕过IBM AppScan扫描 “跨站点请求伪造csrf” 的变通方法 求教 连接池的Connection问题 weblogic8调试出现 Source not found 问题 怎么能在lucene中运行CQL? 关于一个struts.xml文件的错误.哪位能帮下找出代码中错误!!!!!!!!!!!!! 用struts做jsp页往MYSQL里添加数据为什么总是乱码? struts+hibernate 查询 web操作封装技术 这又是什么问题? jsp里面table有行数据怎么上传给action 求高手指点!!! applet 在浏览器运行
——大概1、2个月有个帖子讨论过,挺长的,不过一下子找不到了;总的来说,两者很难找到非常精确匹配的计算关系,因为两者统计的口径是不同的;操作系统关心的是被应用程序所占用的,而JVM则只是关心堆中被分配出去的;这里面有JVM自己开销的、有碎片内存无法使用的、还有已使用完毕待回收的 等等问题。
——总的来说,我觉得如果不是为了底层开发之类的问题,不值得在此问题进行深入研究。
问题2:如何定位JAVA进程直接内存的泄漏?
——很遗憾,并没有什么招数来直接定位,否则内存泄露就不会是一个让大家闻风丧胆的问题了;各类工具都只是提供给你一定的手段去发现征兆、缩小怀疑范围,没有说直接帮你定位,那听起来就不是IT而是神话了。
——常规招数就是:范围 与 层次,两个方向不断通过测试和监控来缩小 怀疑范围,从而最终定位内存泄漏点。