Linux环境下的性能分析 之 CPU篇(三)

3、单独进程cpu状况分析

当我们知道cpu整体状况,以及哪些进程占用cpu以后,我们就可以对系统进行优化,对那些使用cpu过多的进程进行调试和分析,帮我们优化程序的性能。

 

a、strace

这个命令是用来分析进程系统调用的。比如,我们分析一下cat这个命令,都用了哪些库和哪些系统调用,就可以用strace cat output.txt:

7ab7f22a5b134c908041f5388ae171d4.png

 处理分析命令以外,他还能touch到线上正在运行的进程进行分析。

a0a9a1b6c6704e349558f0f07b7d5eba.png

 

 

比如18165这个进程就一直在调用gettimeofday和epoll_wait。

 

b、java的jstack

这个工具是java提供的用来分析java进程的工具。可以看当前进程的线程栈调用情况。

d2788a16b99445faab2aa0e541d2b9a0.png

 这就能很好的帮我们分析,如果某个java程序cpu占用过高或者卡死了,到底是哪个地方出了问题。

 

有了以上这些工具,我们定位cpu的问题,基本就是水到渠成。如果用他们行走江湖,基本上能解决80%的问题:从cpu的总体情况,到cpu的使用情况,再到具体进程的情况,最后到进程的分析,都基本能涵盖。不知你觉得如何呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值