linux下进程状态监控

  在对程序运行情况进行分析时,我们通常比较关注以下三个方面的参数,分别是内存、CPU和磁盘。这里不包括在特定条件下对于网络和显卡等使用情况的分析。
  磁盘相关分析可以使用iostat命令进行分析,但是iostat无法查看特定程序对磁盘的使用情况,只能从整体对磁盘使用情况进行分析。而本次我们主要从对CPU使用作为主要分析目标
  对于当前系统,最经常查看CPU使用的命令就是top,使用命令后的效果如下。
在这里插入图片描述

使用命令后你就会发现无法再进行输入和退出,此时可以ctrl+c命令即可退出。在top命令的输出中其实就已经可以看到使用CPU资源较多的进程,而此时我们还可以通过第二列看到使用CPU较多的pid和最后一行的command。通过命令ps -aux | grep $command可以看到该进程的具体信息。这里以atd命令为例
在这里插入图片描述

从左到右参数依次代表以下信息

  • 用户,本次用户为root
  • 进程pid号 1159
  • CPU使用 0.0
  • 内存使用 0.0
  • 该进程使用的虚拟內存量(KB)42624
  • 该进程占用的固定內存量(KB)(驻留中页的数量)2460
  • 使用的shell ?
  • 进程的状态 Ss
  • 进程出发时间 1月01
  • 进程被触发启动时间 0.00
  • command命令 /usr/sbin/atd -f

  通过这一条命令我们即可查看到该进程使用的CPU和内存资源大小,但是这种方式无法查看进程对磁盘的使用情况,这种情况下可以使用pidstat命令,具体还是以atd命令,使用pidstat -p 1159 2 3命令内容就是对程序进行采样,2秒采样一次,采样3次。
在这里插入图片描述

  其实到这里对于单个进程的分析就可以算是结束了,如果你觉得某个进程占用资源过多,你也可以通过上述方法查到进程的pid,然后使用命令kill -9 $pid关闭该进程

线程分析

 &nbsp上面讲述了如何通过相关命令定位进程并分析进程的状态,但是如果我们想更进一步的了解进程中的线程要怎么办呢,这里简单讲一下如何查看进程中的线程
  如果仅仅想了解一个进程中包含哪些线程,则可以直接使用ps -T -p $pid命令即可,这里还是以atd为例。
在这里插入图片描述

  如果想更深了解线程的资源使用,则可以使用命令top -H -p 1159,效果如下
在这里插入图片描述

总结

  有关进程的分析到这里就结束了,这里仅仅通linux方面的基础工具分析一个进程的状态,实际上还有一些定制化的工具可以更好地分析进程和线程,这里仅仅用作基础分析,当然对于一般意义上的进程分析应该也是足够了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值