Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照

Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

(1)查看各个CPU核的使用情况

sudo top -d 1

进入之后,按1,会出现以下的CPU使用情况,当中us列反映了各个CPU核的使用情况,百分比大说明该核在进行紧张的任务。

Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照


(2)查看哪个进程在哪个CPU核上执行

sudo top -d 1

进入之后,依次按f、j和空格,会出现例如以下(当中P列指示的是该进程近期使用的CPU核,如进程mencoder的P列为7,则表示mencoder近期在核7上执行,对于多线程甚至单线程的进程,在不同一时候刻会使用不同的CPU Core):

Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照


(3)vmstat查看总体的CPU使用情况

sudo vmstat 2 3

參数2表示每一个2秒显示一下结果,3表示显示结果的数目。

Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照


cs列表示每秒上下文切换次数,us表示用户CPU时间。


(4)Intel工具powertop

sudo powertop

会显示各个CPU核的使用百分比。


(5)gprof分析一个程序

如果程序源文件为speedup-example.cpp

gcc speedup-example.cpp -o speedup-example -pg(注意-pg)

执行程序./speedup-example,会在当前文件夹生成gmon.out,这个文件是我们查看程序执行情况的来源,接下来用gprof命令查看它:

gprof -b speedup-example gmon.out > Results.txt

这样这个程序的执行信息就在Results.txt中了。

Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照


(6)pidstat实时查看一个进程的CPU使用情况及上下文切换情况

首先安装

sudo apt-get install sysstat

接下来使用pidstat(以下的-p是与进程号连用,用于显示特定进程的性能信息,之后还能够指定每隔几秒显示,一共显示几条):

  • pidstat 5 -p 15488(你要追踪的进程的pid)

这样就能实时显示15488进程的CPU使用情况:

Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照


  • pidstat -w —— 显示每一个进程的上下文切换情况
pidstat -w -p 15488 2 —— 每隔2秒显示15488进程的上下文切换情况:
Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照

cswch/s —— 每秒该进程产生的voluntary context switches总数。voluntary context switches出如今訪问一个已经被占用的资源,从而不得不挂起(即我们通常说的Synchronization Context Switches)

nvcswch/s —— 每秒该进程产生的involuntary context switches总数。involuntary  context switches发生在自己的时间片用完或被更高的优先级抢占(包括Preemption Context Switches)


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118580.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月4日 上午9:00
下一篇 2021年12月4日 上午9:00


相关推荐

  • DedeCMS+ucenter+uchome同步登录退出整合教程

    DedeCMS+ucenter+uchome同步登录退出整合教程

    2021年8月18日
    58
  • h3c s2000交换机配置命令_华三两台交换机做dhcp

    h3c s2000交换机配置命令_华三两台交换机做dhcp
    一、 组网需求:
    Switch的端口Ethernet1/0/5与DHCP服务器端相连,端口Ethernet1/0/1,Ethernet1/0/2,Ethernet1/0/3分别与DHCPClientA、DHCPClientB、DHCPClientC相连。
    (1)在Switch上开启DHCPSnooping功能。
    (2)设置Switch上端口Ethernet1/0/5为DHCPSnooping信任端口。
    (3)在Switch

    2022年10月15日
    6
  • 三大运营商对OTT业务摊牌 微信免费时代或将结束

    三大运营商对OTT业务摊牌 微信免费时代或将结束原标题 微信免费时代或将结束消息称运营商正与腾讯谈判 据经济之声 天下公司 报道 最近有大量消息传出 国内三大电信运营商正在与腾讯公司展开谈判 主要内容是如何监管腾讯的 OTT 业务 以及如何向 OTT 业务收费 OTT 是英文 OverTheTop 的缩写 这个词汇来源于篮球体育运动 原本是 过顶传球 的意思 而如今 OTT 是指互联网公司越过运营商 发展基于开放互联网的各种语音

    2026年3月16日
    2
  • WLAN基本知识之802.11标准「建议收藏」

    WLAN基本知识之802.11标准「建议收藏」文章目录WLAN技术基础1.4802.11标准介绍1.4.1IEEE802.11协议族成员1.4.2IEEE802.11标准与WiFi的世代1.4.3802.11a/b/g差异1.4.4802.11n1.4.5802.11n关键技术1.4.6IEEE802.11ac标准1.4.7IEEE802.ax标准(又称WiFi6)1.4.8WiFi6理论速率计算WLAN技术基础1.4802.11标准介绍1.4.1IEEE802.11协议族成员IEEE805.11无线工

    2022年7月11日
    27
  • ASP.NET MVC是如何运行的

    ASP.NET MVC是如何运行的ASP.NET由于采用了管道式设计,所以具有很好的扩展性,整个ASP.NETMVC应用框架就是通过扩展ASP.NET实现的。通过上面对ASP.NET管道设计的介绍我们知道,ASP.NET的扩展点主要体现在HttpModule和HttpHandler这两个核心组件之上,整个ASP.NETMVC框架就是通过自定义的HttpModule和HttpHandler建立起来的。为了使读者能够从整体上把握ASP.NETMVC框架的工作机制,接下来我们按照其原理通过一些自定义组件来模拟ASP.NETMVC的

    2022年7月22日
    10
  • c __cplusplus详解

    c __cplusplus详解

    2021年9月17日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号