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

sudo top -d 1

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

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

sudo top -d 1

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

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

sudo vmstat 2 3

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

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中了。

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

首先安装

sudo apt-get install sysstat

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

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

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

  • pidstat -w —— 显示每一个进程的上下文切换情况
pidstat -w -p 15488 2 —— 每隔2秒显示15488进程的上下文切换情况:


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

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


Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照的更多相关文章

  1. linux下维护服务器之常用命令

    linux下维护服务器之常用命令! 第1套如下: 正则表达式: 1.如何不要文件中的空白行和注释语句: [root@localhost ~]# grep -v '^$' 文件名 |grep -v '^ ...

  2. Ubuntu Linux下设置IP的配置命令

    Ubuntu Linux下设置IP的配置命令 今天装了Ubuntu,但是发现不能上网,开始排查问题: 1.首先确定网络连接是否正确,所用的网线是否可以正常工作 2.查看网卡是否能正常工作,检测的方法如 ...

  3. Linux下提权常用小命令

    有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...

  4. linux下使用screen和ping命令对网络质量进行监控

    linux下使用screen和ping命令对网络质量进行监控 场景:应用连接云服务器经常偶尔会出现连接不上的情况,android和IOS端连接的时候也会出现tcp延时5秒以上,现在想验证是否是云服务商 ...

  5. Linux下使用fstatfs/statfs查询系统相关信息

    Linux下使用fstatfs/statfs查询系统相关信息 1.   功能 #include < sys/statfs.h > int statfs(const char *path, ...

  6. [转帖]linux下的find文件查找命令与grep文件内容查找命令

    linux下的find文件查找命令与grep文件内容查找命令 https://www.cnblogs.com/shileima/p/8431393.html 在使用linux时,经常需要进行文件查找. ...

  7. Linux下几种文件传输命令 sz rz sftp scp

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  8. [原创] Linux下几种文件传输命令 sz rz sftp scp介绍

    Linux下几种文件传输命令 sz rz sftp scp介绍 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等 ...

  9. Linux下的压缩和解压缩命令gzip/gunzip

    作者:邓聪聪 Linux下的压缩和解压缩命令——gzip/gunzip yum -y install zip gzip (--安装压缩工具) gzip命令 gzip命令用来压缩文件.gzip是个使用广 ...

随机推荐

  1. fieldset 使用小案例

    有初学者问到如何做出如下页面: 对应的代码如下: <fieldset> <legend>★审核状态</legend> <input name="st ...

  2. SetThreadAffinityMask设置线程亲缘性

    The SetThreadAffinityMask function sets a processor affinity mask for the specified thread. DWORD_PT ...

  3. perl 对象 bless 引用

    [root@dr-mysql01 ~]# cat aa.pl use LWP::UserAgent; use Data::Dumper; my $ua = LWP::UserAgent->new ...

  4. C# 图片压缩 开源库

    http://www.rasteredge.com/how-to/csharp-imaging/image-compressing/ http://www.rasteredge.com/dotnet- ...

  5. cdoj 791 Frozen Rose-Heads

    //本来想做白书上一题 结果发现又要二染色 又要dp的 想了两个小时没想通 然后做了个傻逼题安慰自己 解:不多说,就是递归到叶节点,然后回来的时候在解决子树和直接删边的代价中间取个最小值 #inclu ...

  6. aix installp软件包管理工具

    软件可以安装成两种状态:applied和committed.Applied状态保存了原来以前版本的软件,它把以前版本存储在/usr/lpp/PackageName目录下.这种方式可以回滚到以前的软件版 ...

  7. kindeditor更改图片上传时网络图片的路径

    当我们想要使用kindeditor的图片上传功能时,有两种选择图片方式,一种是本地选择,一种是在图片空间中选择,图片空间的默认地址是server上的/kindeditor/attached/image ...

  8. dropDownList之"请选择",同时设置默认选项

    dropDownList.Items.Insert(0, new ListItem("--请选择--", "-1"));dropDownList.Selecte ...

  9. C#学习基础总结

    概念:.net与c#.net/dontnet:一般指.net framework框架,一种平台,一种技术c#(charp):一种编程语言,可以开发基于.net的应用. *java既是一种技术又是一种编 ...

  10. setter设置器 gutter访问器

    set方法书写规范: 1.必须以set开头,set后跟去掉下划线的实例变量并且首字母大写.ps: setAge:2.一定有参数3.不能有返回值4.一定是对象方法(-开头)5.形参一般是去掉下划线的实例 ...