文档章节

【JVM】JSTATD结合Java VisualVM进行远程监控JVM运行情况(二)

大白来袭
 大白来袭
发布于 07/20 14:44
字数 493
阅读 8
收藏 5

内存泄露指的是程序中动态分配内存给一些临时对象,但是对象不会被GC(java垃圾回收机制gabage collection)所回收,它始终占用内存。即被分配的对象很大但已无用

内存溢出指的是程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况;

从定义上可以看出内存泄露内存溢出的一种诱因,不是唯一因素;

有时单单从代码上很难知道是哪里的问题,所以需要借助一下JDK提供的工具,实时了解程序中的资源的使用情况,JDK为我们提供了JSTATD和Java VisualVM进行远超监控:

  、启动JSTATD:

        cd /usr/local/java/jdk1.8.0_121/bin;

        mkdir jstatd.all.policy;    --新建文件(其实目录可以自己选择)键入一下代码用于启动JSTATD:

  grant codebase "file:${java.home}/../lib/tools.jar" {
    permission java.security.AllPermission;
  };

  

  保存;然后使用以下命令启动JSTATD:

  jstatd -J-Djava.security.policy=/jstatd.all.policy文件的目录/jstatd.all.policy -p 端口号(用于Java VisualVM远程链接)

  eg:jstatd -J-Djava.security.policy=/usr/local/java/jdk1.8.0_121/bin/jstatd.all.policy -p 12345

  、检查JSTATD是否已经启动

  键入 jps ,如果看到jstatd已经起来了,说明启动成功;

  

  三、在本地JDK的安装目录下bin目录,找到jvisualvm.exe文件双击打开,

  

   打开后输入ip,端口

  

  然后我们就可以实时的进行监控了

本文转载自:https://blog.csdn.net/t227hou/article/details/39997607

大白来袭
粉丝 4
博文 38
码字总数 13483
作品 0
海淀
程序员
使用visualvm 远程监控 JVM Tomcat And J2SE程序

1.在服务器上配置 jstatd 的 security policy 文件 进人服务器的/usr/java/jdk1.6.0_26/bin目录中,在该目录下面建立一个新的文件jstatd.all.policy 文件中的内容为: grant codebase "file...

子萧
2014/04/17
0
0
Ubuntu下使用Java visualVM对Java程序进行性能分析

使用Java visualVM的原因:   体积小,不耗内存,操作简单,功能全。关于Java visualVM和其他性能测试工具的比较,网上有很多文章,去搜搜看吧。 1. 在服务器上配置jstatd的security poli...

摆渡者
2014/02/28
0
0
使用VisualVM的RMI方式远程监控JVM

VisualVM是集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。...

夕水溪下
2013/04/27
0
2
利用VisualVM排除应用性能故障

如果尚未听说过VisualVm,可以去看看调优你的Java和J2EE应用性能。 VisualVM是监视您Java/J2EE应用程序性能最好的免费工具之一。如果您尝试使用MyEclipse的VisualVM,你将不得不从30美元的基...

李长春
2012/01/30
0
0
利用VisualVM排除应用性能故障

如果尚未听说过VisualVm,可以去看看调优你的Java和J2EE应用性能。 VisualVM是监视您Java/J2EE应用程序性能最好的免费工具之一。如果您尝试使用MyEclipse的VisualVM,你将不得不从30美元的基...

李长春
2012/01/30
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS三元运算示例

1. topFlag=topFlag ==0?1:0; 等于 if(topFlag=00){ topFlag=1; }else if(topFlag == 1){ topFlag=0; } 2. 5>3?alert('5大'):alert('3大'); 即 if(5>3){alert('5大')}else{alert('3大')}; 注......

森火
今天
0
0
利用Slf4j的MDC跟踪方法调用链

why? 一个web项目通常提供很多URL访问地址, 项目一般都是分层处理,例如Controller——>Service——>DAO。 如果想根据日志查看用户一次请求都走了哪些方法(多数是查错误)。 如果系统是多人...

杨春炼
今天
9
0
Maven介绍及安装

Maven介绍及安装 以下内容是本人早期学习时的笔记,可能比较详实繁琐,现在复习一下Maven,顺便将内容抛出来,供大家一起学习进步。 一、Maven简介 Maven是Apache旗下的一款项目管理工具,是...

星汉
今天
0
0
小程序Aes解密

主要步骤: 1、下载AES源码(JS版) 2、在小程序中新建一个公共的文件夹,把AES源码拷贝进去(注意:需要暴露接口 module.exports = CryptoJS;) 3、添加一个用于加密解密的公共JS,可取名为...

Mr_Tea伯奕
今天
0
0
Go实现文件传输(基本传输可用)

发送端 package mainimport ("fmt""os""net""io")func SendFile(path string, connect net.Conn){file, oerr :=os.Open(path)if oerr !=nil{fmt.Println("Open", oerr)......

CHONGCHEN
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部