linux查看jvm进程参数,JVM调优命令详解

1)jps命令

功能介绍:

jps是用来查看JVM里面所有进程的具体状态,包括进程ID,进程启动的路径等等。与unix上的ps类似,用来显示本地java进程,可以查看本地运行着几个java程序,并显示他们的进程号。注意是显示当前用户有访问权限的进程。

2)jconsole

功能介绍:

jconsole是基于java Management Extensions(JMX)的实时图形检测工具,这个工具利用了内建到JVM里面的JMX指令来提供实时的性能和资源监控,包括了java程序的内存使用,Heap size,线程的状态,类的份配状态和空间使用等等。

3)jinfo(仅linux有)

功能介绍:

jinfo可以从core文件里面知道奔溃的java应用程序的配置信息,目前只有在Solaris和Linux的JDK版本里面才有。观察运行中的java程序运行环境参数:参数包括java System属性和JVM命令行参数

范例

jinfo 2159

其中25159就是java进程id号,可以用前面的jps命令得到这个id号。

4)jstack(仅linux有)

功能介绍:

通过jstack可以观察到jvm中当前所有线程的运行情况和线程当前状态

如果java程序奔溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松知道java程序是如何奔溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息,如果现在运行的java程序呈现hung状态,jstack是非常有用的。目前只有在Solaris和linux的jdk版本中才有。

###################################################

最近系统总是每隔一周左右就莫名其妙down掉。于是研究了一下jdk下面几个常用的查看

jvm运行时状态的参数,很快找出了问题所在。现在把几个命令记录一下:

1. jstat

这个命令对于查看Jvm的堆栈信息很有用。能够查看eden,survivor,old,perm等heap的capacity,utility信息

对于查看系统是不是有能存泄漏以及参数设置是否合理有不错的意义

2. jstack

这个是用来查看jvm当前的thread dump的。可以看到当前Jvm里面的线程状况。

这个对于查找blocked线程比较有意义

3. jmap .

这个是用来查看jvm当前的heap dump的。可以看出当前jvm中各种对象的数量,所占空间等等。

尤其值得一提的是这个命令可以到处一份binary heap dump的bin文件,这个文件能够直接用

Eclipse Memory Anayliser来分析,并找出潜在的内存泄漏的地方。

4. 还有一个比较有用的非jvm命令--netstat

通过这个命令可以看到linux系统当前在各个端口的链接状态,比如查看数据库连接数等等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值