【每日一小时】常用运维命令

常用运维命令

1:jps

jps:列出所有正在运行的java进程,其中jps命令也是一个java程序,前面的数字就是对应的进程id

jps -l:输出应用程序main.class的完整package名或者应用程序jar文件完整路径名。

2:jmap

 jmap [options] pid:options为jmap命令的可选参数。如果没有指定这个参数,jinfo命令会显示Java虚拟机进程的内存映像信息,如下: 

option可选参数列表:

1:-heap:显示堆信息

万猫学社

2:-histo[:live]:显示Java堆中对象的统计信息,包括:对象数量、占用内存大小(单位:字节)和类的完全限定名(加上live表示活动的)

 等等

3:线程数:

ps -mp:可以查看一个进程起的线程数

ps -mp pid | wc -l:线程数

top:

top -H:启动top,top一行显示一个线程。不加上H,它一行显示一个进程。

 ps xH:所有存在的线程:

 4:jstack:java堆栈跟踪工具,打印出给定的java进程ID、core file、远程调试服务的Java堆栈信息

  1. jstack [ option ] pid

  2. jstack [ option ] executable core

  3. jstack [ option ] [server-id@]remote-hostname-or-IPoption

option参数说明:

选项作用
-F当正常输出的请求不被响应时,强制输出线程堆栈
-m如果调用到本地方法的话,可以显示C/C++的堆栈
-l除堆栈外,显示关于锁的附加信息,在发生死锁时可以用jstack -l pid来观察锁持有情况

 可以用来分析死锁CPU过高等等(未完待续--------------------------------------)

分析CPU过高步骤:

1:top:分析进程CPU占用情况:

2:top -Hp pid:查看进程下各线程占用情况

3:jstack pid:查看该线程的堆栈状态

4:jstack -l [PID] >/tmp/log.txt:将堆栈信息写入到文件

5:我们把占用cpu资源较高的线程pid转成16进制的值,在thread dump中,每个线程都有一个nid,我们找到对应的nid(就是16进制后的值),找找原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值