2 kangyali12 kangyali12 于 2014.07.18 15:36 提问

java程序内存不下降,但是也没有内存泄露怎么分析?

我们用java开发的程序.运行过程中使用任务管理器观察内存可以达到700M.使用java自带的jvisualvm.exe查看内存申请了200多用了100M,请问剩下的500M去哪里了.用什么方法可以找到这些内存的去向.

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
分析和解决JAVA 内存泄露的实战例子
这几天,一直在为Java的“内存泄露”问题纠结。Java应用程序占用的内存在不断的、有规律的上涨,最终超过了监控阈值。福尔摩 斯不得不出手了! 分析内存泄露的一般步骤       如果发现Java应用程序占用的内存出现了泄露的迹象,那么我们一般采用下面的步骤分析 把Java应用程序使用的heap dump下来使用Java heap分析工具,找出内存占用超出预期(一般是因
C++内存泄露检查的5个方法
原文地址:http://developer.51cto.com/art/201504/470685.htm 一、前言 在Linux平台上 有valgrind可以非常方便的帮助我们定位内存泄漏,因为Linux在开发领域的使用场景大多是跑服务器,再加上它的开源属性,相对而言,处理问题容 易形成“统一”的标准。而在Windows平台,服务器和客户端开发人员惯用的调试方法有很大不同。下面结
Linux下实用的JAVA内存泄露监控命令
内存泄露一直是比较头疼的事情,下面三个命令我个人觉得相当有用。 1、jstack (linux下特有) 可以观察到jvm中当前所有线程的运行情况和线程当前状态 jstack 2083 输出内容如下: 2、jmap (linux下特有,也是很常用的一个命令) 观察运行中的jvm物理内存的占用情况。 参数如下: -heap :
一次内存泄漏问题定位过程与分析
现场: 逻辑server服务器处理能力骤降, 客户端请求大量失败.  逻辑server的统计数据显示,请求量略有增长(客户端重试的结果), log内容显示访问外部接口有一定失败.  分析:  第一反应是外部接口失败导致进程处理堵塞,大量请求被堵塞后丢弃导致客户端重试. vmstat 1看了一下, 发现b字段保持在20-40之间,wa字段值远大于0, 说明进程在等待输入输出而
性能优化三之内存泄漏分析工具使用以及如何分析
这篇文章主要 分为四部分来具体讲解: 1.HeapSnapShot使用 2.HeapViewer使用 3.MAT使用 4.实际开发中怎么去运用上面三个工具来寻找可能发生内存泄漏的代码。 第一部分:HeapSnapShot使用: Heap Snapshot能做什么? 获取Java堆内存详细信息,可以分析出内存泄漏的问题 1.      启动Heap Dump
Jmap+MAT 排查内存泄漏
最近在项目中自测的时候(压力测试)遇到内存泄漏的情况,想查看具体是哪个模块甚至哪个类引起的问题,经同事推荐使用Jmap+MAT的组合进行了一次尝试,下面记录一下,以便今后深入学习使用。 这里可以用一个linux下的命令(jps)查看所有Java相关线程的pid等信息。 然后使用jmap命令,jmap是一个可以
内存泄漏全解析,从此拒绝ANR,让OOM远离你的身边,跟内存泄漏say byebye
原文链接:http://www.cnblogs.com/liushilin/p/5900089.html一、写在前面 二、一些杂谈   1、这里先安利一下java的内存分配:  2、四种引用类型的介绍  3、内存抖动,这样的图很熟悉有木有?当这样的时候,说明你的内存真的在变少了。 三、内存泄漏检测工具四、内存泄漏解析  1)永远的Singleton2)令人心塞的Handler3)匿
如何利用jconsole观察分析java程序的运行,进行排错调优
本文转自:http://jiajun.iteye.com/blog/810150 一、JConsole是什么     从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java
Java内存泄漏--程序和内存的关系
内存泄漏百度百科的定义是:内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。 内存泄漏形象的比喻是“操作系统可提供给所有进程的存储空间正在被某个进程榨干”,最终结果是程序运行时间越长,占用存储空间越来越多,最终用尽全部存储空间,整个系统崩溃。所以“内存泄漏”是从操作系统的角度来看的。这里的存储空间并不是指物
转自美团技术博客的jvm内存泄露分析
Linux与JVM的内存关系分析 引言 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约600m,Linux自身使用大约800m。从表面上,物理内存应该是足够使用的;但实际运行的情况是,会发生大量使用SWAP(说明物理内存不够使用了),如下图所示。同时,由于SWAP和GC同时发生会致使JV