右侧
当前位置:网站首页 > 资讯 > 正文

java内存监控,java自带内存监控

作者:admin 发布时间:2024-02-14 05:15 分类:资讯 浏览:13 评论:0


导读:怎么查看java程序运行的峰值内存消耗(含虚拟机)和CPU消耗(ms)1、只能查看JAVA虚拟机占用的内存Runtime.getRuntime().maxMemory()返回...

怎么查看java程序运行的峰值内存消耗(含虚拟机)和CPU消耗(ms)

1、只能查看JAVA 虚拟机占用的内存Runtime.getRuntime().maxMemory() 返回 Java 虚拟机试图使用的最大内存量。Runtime.getRuntime().freeMemory() 返回 Java 虚拟机中的空闲内存量。

2、虚拟机的内存情况查看,使用Runtime类进行。

3、取得进程ID,调用系统API取得相关值(Windows和Linux是不一样的的)。

4、jps(JVM Process Status Tool):JVM机进程状况工具用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。

5、top,free,cat /proc/meminfo,cat /proc/cpuinfo。[root@centerlisdb proc]# dmidecode |grep -A16 Memory Device | more [object Object]。

java内存诊断软件?

Memory Analyzer-是一款开源的JAVA内存分析软件,查找内存泄漏,能容易找到大块内存并验证谁在一直占用它,它是基于Eclipse RCP(Rich Client Platform),可以下载RCP的独立版本或者Eclipse的插件。

你的问题是heap OOM.一般会生成hprof的堆文件,你现在已经有了。分析的时候不用考虑集成eclipse啊。很多工具比如jprofiler,JAVA自带的jvisualvm.exe直接就可以分析。

在JDK6 update 7之后,jdk推出了另外一个工具:jvisualvm,java可视化虚拟机,它不但提供了jconsole类似的功能,还提供了jvm内存和cpu实时诊断,还有手动dump出jvm内存情况,手动执行gc。

Jconsole是你运行的那个java进程在JVM中具体使用的堆区,栈区的具体情况及其他,还是准的。而windows资源管理器是笼统的把JVM中使用的内存大小弄出来了。很明显,JConsole更具体,建议使用JConsole来分析内存使用情况。

如何查看java进程大量占用内存

可以直接使用top命令后,查看%MEM的内容。

在top命令的输出中,可以按下Shift + H(大写H)来显示所有Java进程,或者按下Shift + L(大写L)来显示所有线程。可以使用方向键上下移动以查看完整的进程列表。

shell通过java.lang.Runtime获取java应用运行时的已用堆内存和最大堆内存。

标签:


取消回复欢迎 发表评论: