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


相关推荐

  • pycharm2021.2.5永久激活 3月最新注册码

    pycharm2021.2.5永久激活 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    164
  • Nuget 相关

    Nuget 相关Nugetpackage 下载地址 http nuget codeplex com releasesNuge 地址 http visualstudio msdn microsoft com 27077b70 9dad 4c64 adcf c7cf6bc9970c

    2026年3月17日
    2
  • 吐血推荐:VBScript教程及语言参考电子书「建议收藏」

    吐血推荐:VBScript教程及语言参考电子书「建议收藏」经过两次练手之后,花费一天时间,通过对从迅雷上所下载所有VBScript资源的整合,鼎力制作了此本VBScript教程及语言参考书。全书资源丰富,主要包括两部分内容。第一部分是教程部分,通过此章节的学习,我们可以很轻松的掌握VBScript的基础知识。第二部分是语言参考,提供一个搜索页面,在我们使用的时候可以随时查找到自己所需要查找的函数等的…

    2022年6月25日
    34
  • 五分钟了解Mysql的行级锁——《深究Mysql锁》「建议收藏」

    五分钟了解Mysql的行级锁——《深究Mysql锁》「建议收藏」我们首先需要知道的一个大前提是:mysql的锁是由具体的存储引擎实现的。所以像MyISAM和InnoDB引擎的锁实现机制是有区别的。Mysql有三种级别的锁定:表级锁定、页级锁定、行级锁定表级锁定参考:三分钟了解Mysql的表级锁——《深究Mysql》页级锁定参考:[三分钟了解Mysql的页级锁——《深究Mysql》]一、定义每次锁定的是一行数据的锁机制就是行级别锁定(r…

    2022年4月30日
    39
  • 浏览器无法连接到代理服务器解决办法「建议收藏」

    今天在电脑打开浏览器时,遇到“无法连接代理服务器”提示,网页打不开,但是QQ、微信这些客户端软件可以正常使用。后来,通过设置浏览器的代理服务器,问题解决了。具体操作如下:把代理服务器下面的勾去掉。…

    2022年4月11日
    403
  • 异步加载JS

    异步加载JSjs 的加载缺点 加载工具方法没必要阻塞文档 过多的 js 加载会影响页面效率 一旦网速不好 那么整个网站将等待 js 加载而不进行后续渲染等工作 有些工具方法需要按需加载 用到再加载 不用不加载 javascript 异步加载的三种方案 1 defer 异步加载 但要等到 dom 文档全部解析完才会被执行 只有 IE 能用 2 async 异步加载 加载完就执行 async 只能加载外部脚本 不能把 js

    2026年3月17日
    2

发表回复

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

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