top命令详解之深入了解CPU






top 









taskset












30 个实例详解 TOP 命令


http://blog.jobbole.com/112873/?utm_source=blog.jobbole.com&utm_medium=relatedPosts








top命令之你不一定懂的cpu显示信息

http://www.cnblogs.com/wjoyxt/p/4918742.html




理解CPU steal time


http://blog.csdn.net/jessysong/article/details/73571878



http://www.cnblogs.com/menkeyi/p/6732020.html



是谁动了我的CPU!

http://www.csdn.net/article/2012-12-10/2812662-shei-dong-cpu




Linux下的绑核命令——taskset

所谓绑核,其实就是设定某个进程/线程与某个CPU核的亲和力(affinity)。设定以后,Linux调度器就会让这个进程/线程只在所绑定的核上面去运行。

但并不是说该进程/线程就独占这个CPU的核,其他的进程/线程还是可以在这个核上面运行的。如果想要实现某个进程/线程独占某个核,就要使用cpuset命令去实现。

其实,很多情况下,为了提高性能,Linux调度器会自动的实现尽量让某个进程/线程在同样的CPU上去运行。所以,除非必须,我们没有必要显式的去进程绑核操作。


http://time-track.cn/taskset-command.html



我这个是在启动虚拟机之后,在虚拟机中跑DPDK,测试结果很不理想,然后我的领导说可以做CPU的隔离核绑定,然后做了之后发现确实效果有所提升。所以写一下小结。仅供大家参考。

1、首先创建隔离核,在系统启动的时候在INTEL_IOMMU=OFF那一行最后添加上isolcpus=2,3,4,5,6 隔离出5个核

2、系统启动,检查host上是否隔离成功,命令如下:

# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==1) print $0}’

# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==2) print $0}’

# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==3) print $0}’

# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==4) print $0}’通过查看线程确定是否隔离,如果隔离成功,则只有几个线程。

3、启动虚拟机之后,查看qemu的线程

# ps –eLo ruser,pid,ppid,lwp,psr,args | grep qemu | grep –v grep

4、绑定qemu的进程,绑定核

# taskset –p 0x4 28423

# taskset –p 0x8 28424

5、查看QEMU绑定是否生效

# ps –eLo ruser,pid,ppid,lwp,psr,args | grep qemu | grep –v grep

6、查看cpu2/3/4/5上运行的线程

# ps –eLo ruser,pid,ppid,lwp,psr,args | awk ‘{if($5==2) print $0}’


没什么技术含量,仅供大家参考。




   

       linux下进程绑定cpu情况查看                           

http://blog.csdn.net/u013920085/article/details/51085315



Linux进程或线程绑定到CPU

编译运行之后,输入命令top -p 进程id,输入f,输入j,输入回车,输入H,可以看到主线程一直保持在cpu0,一个线程在cpu12之前切换,另一个线程在cpu34之间切换。


http://www.linuxidc.com/Linux/2015-04/116867.htm



Linux编程之《进程/线程绑定CPU》


http://www.cnblogs.com/highway-9/p/5494977.html


为进程绑定CPU

http://purplegrape.blog.51cto.com/1330104/1252197/



1.taskset

          taskset用来查看和设定“CPU亲和力”,说白了就是查看或者配置进程和cpu的绑定关系,让某进程在指定的CPU核上运行,即是“绑核”。


2.taskset的用法

          (1)显示进程运行的CPU

            taskset -p pid

            注意,此命令返回的是十六进制的,转换成二进制后,每一位对应一个逻辑CPU,低位是0号CPU,依次类推。如果每个位置上是1,表示该进程绑定了该CPU。例如,0101就表示进程绑定在了0号和3号逻辑CPU上了

          (2)绑核设定

            taskset -pc 3  pid    表示将进程pid绑定到第3个核上(注:不用将3弄成二进制的)

            taskset -c 3 command   表示执行command命令,并将command启动的进程绑定到第3个核上。



st 的全称是 Steal Time ,就是 Xen Hypervisor 分配给运行在其它虚拟机上的任务的实际  时间。
%st(Steal time) 是当 hypervisor 服务另一个虚拟处理器的时候,虚拟  等待实际  的时间的百分比。
Steal 值比较高的话,需要向主机供应商申请扩容虚拟机。服务器上的另一个虚拟机拥有更大更多的 CPU 时间片,需要申请升级以与之竞
争。另外,高 steal 值也可能意味着主机供应商在服务器上过量地出售虚拟机。如果升级了虚拟机, steal 值还是不降的话,应该寻找另一家服务供应商。
低 steal 值意味着应用程序在目前的虚拟机上运作良好。因为虚拟机不会经常地为了 CPU 时间与其它虚拟机激烈竞争,虚拟机会更快地响应。主机供应商没有过量地出售虚拟服务,绝对是一件好事情。



      本文转自heavenseahill 51CTO博客,原文链接:http://blog.51cto.com/shower/1972820,如需转载请自行联系原作者



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值