- ps -aux | grep java 查看所有java进程,加粗地方找到对应jvm位置
[chongguo.jzw@v037176.sqa.cm4 ~]$ ps -aux | grep java
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
admin 8492 0.0 30.0 1203804 551208 ? Sl Mar10 4:05 [b]/opt/taobao/java1/bin/java[/b] -Dprogram.name=run.sh -server -Xms768m -Xmx768m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=96m -XX:MaxPermSize=96m -Djava.awt.headless=true -Dsun.net.client.defaultConnectTimeout=5000 -Dsun.net.client.defaultReadTimeout=5000 -XX:ErrorFile=/home/admin/et/logs/java_error_%p.log -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n -Djava.net.preferIPv4Stack=true -Djava.endorsed.dirs=/opt/taobao/jboss1/lib/endorsed -classpath /opt/taobao/jboss1/bin/run.jar:/opt/taobao/java1/lib/tools.jar org.jboss.Main -b 0.0.0.0 -Djboss.server.home.dir=/home/admin/ie/.default -Djboss.server.home.url=file:/home/admin/ie/.default
- sudo -u admin -H /opt/taobao/java1/bin/jps -lv
- jps查找到对应的jvm进程号。jps 它的作用是显示当前系统的java进程情况,及其id号
- jstack 得到该进程对应的堆栈信息
- sudo -u admin -H /opt/taobao/java1/bin/jstack 8492
- top 然后Shift+h,切到以线程方式显示top,找到最上面的线程id号
- 将线程id号转成十六进制:echo 'obase=16;要转换的十进制数' | bc
- sudo -u admin -H /opt/taobao/java1/bin/jstack 8492 | sudo -u admin -H grep -A 20 -B 10 "十六进制数",查看堆栈即可看到当前正在执行的方法栈
[chongguo.jzw@v037176.sqa.cm4 ~]$ sudo -u admin -H /opt/taobao/java1/bin/jstack 8492 | grep -A 20 -B 10 "2320"
"AcceptorThread#0:3873" prio=10 tid=0xbd63dc00 nid=0x214f runnable [0xbd1e1000..0xbd1e20b0]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
- locked <0xc4d69700> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.jboss.remoting.transport.socket.SocketServerInvoker.run(SocketServerInvoker.java:520)
at java.lang.Thread.run(Thread.java:619)
"ServerSocketRefresh" daemon prio=10 tid=0x08e5cc00 nid=0x214e in Object.wait() [0xbd232000..0xbd233130]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0xc4ae0dc0> (a java.lang.Object)
at java.lang.Object.wait(Object.java:485)
at org.jboss.remoting.transport.socket.SocketServerInvoker$ServerSocketRefresh.run(SocketServerInvoker.java:704)
- locked <0xc4ae0dc0> (a java.lang.Object)
"AcceptorThread#0:4446" prio=10 tid=0xbd638800 nid=0x214d runnable [0xbd283000..0xbd283db0]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
- locked <0xc51ad370> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at org.jboss.remoting.transport.socket.SocketServerInvoker.run(SocketServerInvoker.java:520)
at java.lang.Thread.run(Thread.java:619)
"PooledInvokerAcceptor#0-4445" prio=10 tid=0xbd637c00 nid=0x214c runnable [0xbd2d4000..0xbd2d4e30]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
分享到:
相关推荐
zabbix自动发现JAVA进程,并进行自动添加监控JAVA 进程的JVM数据,统计分析告警监控。 支持多种中间件,tomcat、weblogic、微服务方式部署JAVA应用监控。 自带发现脚本和监控脚本,以及zabbix导入模板。
Zabbix通过JMX方式监控java中间件 Zabbix2.0添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Java-gateway”;它是用java写的一个程序。 工作原理: zabbix_server想知道一台主机上的特定的JMX值时,它向...
主要介绍了SHELL脚本监控JAVA进程,需要的朋友可以参考下
Jarboot 是一个强大的Java进程管理、诊断的平台,可以在线管理、监控及诊断本地和远程的Java进程.zip
监控任务管理器中某个进程的使用情况,检测该进程是否正常运行,内存使用量为多少,每分钟检测一次!
运行 jtop 首先,您需要一个 Java 应用程序来监控。 在终端中运行以下命令以启用 JMX 监控,然后启动一个 Scala REPL,它将忙于对字符串进行排序和处理线程。 export JAVA_OPTS="-Dcom.sun.management.jmxremote....
java写的进程监控软件.简洁高效.好用.
它通过一个循环监控Java程序进程,如果检测到程序异常退出,会自动重启程序。同时具有可配置的重启次数和重启间隔时间。 这个小巧但实用的bat脚本实现了一个功能强大的守护进程机制,其可以广泛应用于各种Java程序的高...
Linux平台 下 进程监控自动 重启 恢复脚本, 测试 centos平台下 java, springboot 通过
有点乐趣,小java线程监控程序, 小java线程监控程序 小java线程监控程序
在线管理监控及诊断本地和远程的Java进程源代码.zip
通常情况下,启动一个Java进程往往是使用java -jar xxxx.jar命令,其中xxxx.jar是启动的jar文件。如果需要增加VM参数的话就需要在java后面添加相应的VM参数,如果需要传入参数的话,还需要在命令的最后面添加传入的...
通过对系统进程监控,可持续地自动启动或关闭指定的程序文件,非常好用。 定制来电话:4006-444-808,惠当家产品研发部
通常情况下,启动一个Java进程往往是使用java -jar xxxx.jar命令,其中xxxx.jar是启动的jar文件。如果需要增加VM参数的话就需要在java后面添加相应的VM参数,如果需要传入参数的话,还需要在命令的最后面添加传入的...
监控Java进程使用的CPU,当占用率过高时,自动收集Top信息和Thread Stack。启动、停止、查询、导出飞行记录。使用方法将工具上传到Linux服务器的任意目录,并进行解压。注意:须确保Java进程用户有权限访问此工具...
用于zabbix监控脚本-批量获取docker容器名称及容器中的java进程ID,将结果格式化为json格式,直接返回给zabbix
该程序能够自动监控指定的系统进程,并在被监控的程序意外退出后,将其重新启动。 配置要监控的进程的方法说明: 打开comfig.xml 添加 或 修改 <course> 节点 任务管理器里面进程的名称 文件的启动路径</path>