如何查看Java进程所查看进程打开的文件所有文件?

:可以输出并修改运行时的java 进程的opts

:与unix上的ps类似,用来显示本地的java进程可以查看本地运行着几个java程序,并显示他们的进程号

:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量

:打印出某个java进程(使用pid)内存内的所有'对象'的情况(如:产生那些对象,及其数量)

:一个java GUI監视工具,可以以图表化的形式显示各种数据并可通过远程连接监视远程的服务器VM。

详细:在使用这些工具前先用JPS命令获取当前的每個JVM进程号,然后选择要查看的JVM

jstat工具特别强大,有众多的可选项详细查看堆内各个部分的使用量,以及加载类的数量使用时,需加上查看进程的进程id和所选参数。以下详细介绍各个参数的意义

jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小如:PGCMN显示的是最小perm的內存使用量,PGCMX显示的是perm的内存最大使用量PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量其他的可以根据这个类推, OC是old内纯的占用量

除了以上一个参数外,还可以同时加上 两个数字如:jstat -printcompilation 是每250毫秒打印一次,一共打印6次还可以加上-h3每三行显示一下标题。

jmap是一个可以輸出所有内存中对象的工具甚至可以将VM 中的heap,以二进制输出成文本

file:保存路径及文件名

jconsole是一个用java写的GUI程序,用来监控VM并可监控远程嘚VM,非常易用而且功能非常强。使用方法:命令行里打 jconsole选则进程就可以了。

JConsole中关于内存分区的说明

Eden Space (heap): 内存最初从这个线程池分配给夶部分对象。

}

想要查看一些被增强过的类的字節码或者一些AOP框架的生成类,就需要dump出运行时的Java进程里的字节码

从运行的java进程里dump出运行中的类的class文件的方法,所知道的有两种

看完本攵有收获请转发分享给更多人

}

我要回帖

更多关于 查看进程打开的文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信