java 内存 监控_Java内存监视
最近在研究Java程序内存问题跟踪,主要处理程序在上时间运行情况下各种 OutOfMemory 异常,将使用的工具和心得点滴记录在这里备忘
常用工具
JDK1.6版本自带很多丰富的内存/线程跟踪调试工具
jps命令,查看本机器所有Java进程vmid
jps -l
jstat命令,跟踪某一Java进程GC运行情况
jstat -gcutil [vmid] 2000 (每2秒刷新一次)
jmap命令,强制Java进程生成当前堆快照(dump文件)
jmap -dump:format=b,file=c:/xxx.bin [vmid]
jstack命令,生成虚拟机当前线程快照
jstack -l [vmid] > c:/xxx.txt
可视化工具:
jconsole
JDK自带
Eclipse Memory Analyzer
基于Eclipse框架开发,专用分析dump文件,可以从多种角度协助查找程序内存使用问题
VisualVM
基于NetBeans框架开发,独立下载,初次安装就是个框架,需要安装插件才能正常使用
VisualVM第一次启动会报一个异常(反正我这里第一次用一定报)
cannot find java 1.6 or higher
解决办法:到VisalVM安装目录 /etc/visualvm.conf 文件
将其中的 jdkhome 注释打开,并配置上本机JDK绝对路径即可
关于在VisualVM中监控远程服务的方法:
将如下代码保存文件,文件名命名为 jstatd.all.policy
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
将此文件拷贝到远程服务器的JDK bin目录中,在保持服务运行状态下,启动命令行窗口,切换到JDK/bin目录,运行如下命令
jstatd -p 1099 -J-Djava.security.policy=jstatd.all.policy
在VisualVM客户机上,添加远程服务器的IP地址(默认jstat监控端口使用的就是1099),就可以实现远程监控了
处理OutOfMemery心得
几篇很有价值的参考博客
java 内存 监控_Java内存监视相关推荐
- 安装Java Visualvm监控堆内存和参数说明
安装Java Visualvm监控堆内存和参数说明 1.概述 这篇文章介绍使用Java Visualvm工具监控堆内存VisualGC插件的安装以及监控堆内存参数说明. 摘要 VisualGC插件安装 ...
- java虚拟机内存监控_java虚拟机内存监控工具
1.jps(JVM Process Status Tool):JVM机进程状况工具 -m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null. -l 输出应用程序主类的完整包名,或者 ...
- java虚拟机内存监控_java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用...
将会打印出很多jvm运行时参数信息,由于比较长这里不再打印出来,可以自己试试,内容一目了然 Jstack(Stack Trace for Java):JVM堆栈跟踪工具 jstack用于打印出给定的j ...
- java查看内存泄露_Java内存泄露如何排查
Java内存泄露是常常出现的问题,Java攀登网进行了该问题的整理,具体的如下所示: 1.2 内存泄露Memory Leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内 存泄露危害可以忽略 ...
- docker java 内存溢出_java内存溢出
与此问题类似jmeter Error occurred during initialization of VM Could not reserve enough space_萧木易的博客-CSDN博客 ...
- java list 内存溢出_java内存溢出的2种情况
java程序员在面试经常被问到内存om之后如何处理,但是实际在工作中遇到此类问题的情况却又非常少. 进过自己一番总结内存溢出主要分为2种: 一.堆内存溢出 OutOfMemoryError 从jvm的 ...
- JAVA 继承内存模型_Java内存模型
JVM的组成 类加载器(classloader) 执行引擎(execution engine) 运行时数据区域(runtime data area) 对于Java程序员来说,在虚拟机自动内存管理机制下 ...
- java内存规范_Java内存模型-jsr133规范介绍
最近在看<深入理解Java虚拟机:JVM高级特性与最佳实践>讲到了线程相关的细节知识,里面讲述了关于java内存模型,也就是jsr 133定义的规范. 系统的看了jsr 133规范的前面几 ...
- java gc原理_Java内存管理以及GC工作原理
1.内存管理简介 内存管理的职责为分配内存,回收内存. 没有自动内存管理的语言/平台容易发生错误. 典型的问题包括悬挂指针问题,一个指针引用了一个已经被回收的内存地址,导致程序的运行完全不可知. 另一 ...
最新文章
- Arduino可穿戴教程之第一个程序——Blink(一)
- redis取出list最边的一个_这几个Redis使用技巧,让你的程序快如闪电
- git 添加review的相关操作
- php 依赖注入框架,依赖注入模式(Dependency Injection)
- 3D重建 | 近5年前沿方法引用量TOP10工作汇总
- 【MySQL】MySQL中的查询语句的详解----等值连接、左连接、右连接、全连接
- print python 带回车_python标准库threading源码解读【二】
- 聊聊Elasticsearch的BootstrapCheck
- 《生物信息学》——李霞;;生信概念
- 三层交换机LACP协议对 L2/L3端口,报文处理实验
- 项目部署发布CruiseControl工具介绍
- CSS解读之box-sizing属性
- AutoSAR入门到精通讲解 (AuroSAR-CP描述) 1.1 AutoSAR-CP简介
- vi,vim文本编辑器
- java中二维数组Array
- Set 直接转成 数组
- c语言access码大小写A转换,字母大小写互相转换 ASCII码转化符号问题
- tplink WR740N v4 WR941N v6 安装openwrt
- 负反馈的类型及判定判别方法 及其优点
- 论文数据查找和论文参考准确搜索定位