Linux进程分析详解

Linux进程掉线分析
1、trace进程无法捕捉到进程被kill掉,推测进程夯住自己退出。
nohup strace -T -tt -e trace=all -p 22658 > /datanode-trace.log &
2、通过aduit追踪,在日志/var/log/audit中grep进程id,发现进程掉之前很多XXX进程执行kill。
auditctl -a exit,always -F arch=b64 -S kill -S tkill -S tgkill -F a1!=0 -k test1
3、路由跟踪
traceroute -q 6 **
格式:route -n
格式:/sbin/route -n
用于打印路由表,加上-n参数就是在输出的信息中不打印主机名而直接打印ip地址。
1、进程号查看:
ps -ef | grep hiveserver2

2、进程资源使用:
top -p 26916

3、进程数:
pstree -p 23327 |wc -l

4、根据进程查看进程相关信息占用的内存情况:
pmap -x 26916 >> pmap.log
cat pmap.log | grep anon |awk ‘{sum+=$4}END{print sum}’
ps -ef | grep hiveserver2| grep -v grep |awk -F ’ ’ ‘{print $2}’ |xargs pmap -x |grep anon |awk ‘{sum+=$4}END{print sum}’

5、用jmap把进程内存使用情况dump到文件中:
jmap -dump:live,format=b,file=/tmp/dump.dat 21711 -------->进程id

6、用jhat分析查看:
jhat -port 10099 /tmp/dump.dat
运行在10099端口,然后浏览器访问

7、进程信息查看:
jstack -l PID >> 123.txt
分析locked回溯到哪个runableed的进程,加锁导致所有进程卡住。
在hs2日志里搜索 thread ID

8、本地文件查看:
cat /proc/pid/status
/proc/$PID/task 目录下的目录数判断线程数量
du -s -h /proc/26916/task// | grep mem

9、监控进程:
nohup strace -T -tt -e trace=all -p 22658 > /trace.log

10、查看占用cpu最高的进程:
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

11、使用auditctl命令可以对内核中的审计系统进行控制:
auditctl -a exit,always -F arch=b64 -S kill -S tkill -S tgkill -F a1!=0 -k test1
在日志/var/log/audit中grep进程id。

12、任务hs2堆内存GC配置查看:
jmap -heap hs2进程号
查看整个JVM内存状态
jmap -heap [pid] 要注意的是在使用CMS GC 情况下,jmap -heap的执行有可能会导致JAVA 进程挂起
查看JVM堆中对象详细占用情况
jmap -histo [pid]
导出整个JVM 中内存信息
jmap -dump:format=b,file=文件名 [pid]

13、GC情况查看:
jstat -gcutil pid
jcmd 【pid】 VM.flags

14、定时打印一下GC 情况输出到文件里
jstat -gc 1800s

15、jvm参数查看
jinfo -flags

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值