这是原文链接http://serverfault.com/questions/190049/find-out-which-task-is-generating-a-lot-of-context-switches-on-linux

主要就是用pidstat -w 查看上下文切换,

root@wis-virtual-machine:~# pidstat -w 1
Linux 4.2.0-16-generic (wis-virtual-machine)    2016年04月08日  _i686_  (1 CPU)
 
10时19分27秒   UID       PID   cswch/s nvcswch/s  Command
10时19分28秒     0         3      3.88      0.00  ksoftirqd/0
10时19分28秒     0         7     13.59      0.00  rcu_sched
10时19分28秒     0        10      0.97      0.00  watchdog/0
10时19分28秒     0       833      7.77      0.00  Xorg
10时19分28秒  1000      1564      6.80      7.77  compiz

-t选项可以查看进程下面进程的。

root@wis-virtual-machine:~# pidstat -w -t
Linux 4.2.0-16-generic (wis-virtual-machine) 2016年04月19日 _i686_ (1 CPU)

08时34分24秒 UID TGID TID cswch/s nvcswch/s Command
08时34分24秒 0 1 - 1.63 1.39 systemd
08时34分24秒 0 - 1 1.63 1.39 |__systemd
08时34分24秒 0 2 - 0.32 0.00 kthreadd
08时34分24秒 0 - 2 0.32 0.00 |__kthreadd
08时34分24秒 0 3 - 3.00 0.01 ksoftirqd/0
08时34分24秒 0 - 3 3.00 0.01 |__ksoftirqd/0

查看数据的时候还有个watch命令,大家也可以man一下看看,(watch -tdn0.5 pidstat -w)

查看上下文切换的多的进程(find which process take the most context switch)的更多相关文章

  1. 在Linux中查看所有正在运行的进程

    可以使用ps命令.它能显示当前运行中进程的相关信息,包括进程的PID.Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息. ps命令能提供一份当前进程的快照.如果想状态可以自动刷新,可以 ...

  2. 如何在Linux中查看所有正在运行的进程

    如何在Linux中查看所有正在运行的进程 FROM:http://os.51cto.com/art/201101/244090.htm 进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系 ...

  3. Linux查看非root运行的进程

    Linux查看非root运行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -N PID TTY TIME CMD ...

  4. Linux查看系统中的每个进程

    Linux查看系统中的每个进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -A PID TTY TIME CMD 1 ? 00:00:01 init ...

  5. Linux查看当前正在运行的进程

    Linux查看当前正在运行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps PID TTY TIME CMD 2576 pts/0 00:00:00 ...

  6. Mac 下 查看 使用某端口的进程和关闭该进程的命令

    查看使用某端口的进程 最简单的命令是: lsof -i :端口号 如果要使用管理员权限那么就是: sudo lsof -i :端口号 所以查看 使用某端口号3000的进程可以使用: lsof -i : ...

  7. Linux下查看端口,强制kill进程

    1.查看8088端口被哪个进程占用:netstat -apn | grep 8088 2.强制kill某一进程:kill -s 9 1827

  8. 查看linux端口对应的进程id

    例如:查看占用4040端口的进程 ss -lptn 'sport = :4040'

  9. mysql 查看服务器正在运行的进程

    有时候遇到mysql突然很久没有响应的情况,我们就想知道背后发生了什么. 这时候我们就可以通过以下的命令来查看mysql正在处理的进程: show processlist; 这个命令可以通过navic ...

随机推荐

  1. Masonry控制台打印约束冲突问题解决

    不知道你是不是视图的布局也是用的第三方Masonry,在使用中是不是也遇到了控制台约束冲突的警告打印,看下图: 从输出的信息可以知道,有的控件的约束明显重复了设置,所以指出了是哪个控件,重复设置了哪些 ...

  2. iOS开发中对RunLoop的个人心得

    从接触iOS到现在也有将近两年了,对iOS中的RunLoop也有了一定的认识,下面讲讲个人对RunLoop的理解.   初识RunLoop RunLoops是与线程相关联的基础部分,一个Run Loo ...

  3. Appium移动自动化测试之获取appPackage和appActivity

    方法一:直接打开Appium,点击左上角机器人图标 选择apk所在位置,如图所示,这里以ContactManager.apk为例 方法二:利用dex2jar和jd-gui这两个工具反编译apk文件 这 ...

  4. 2016CCPC 合肥--最大公约数//每一年通向它的路上,多少人折戟沉沙,多少人功败垂成,有人一战成名,有人从头再来。

    有这样一个有关最大公约数的函数:函数 f(x, y): { c=0 当 y>0: { c +=1 t = x % y x = y y = t } 返回 c * x * x} 给出三个正整数n,m ...

  5. Oracle 左连接、右连接、全外连接、(+)号作用

    分类: Oracle Oracle  外连接 (1)左外连接 (左边的表不加限制)       (2)右外连接(右边的表不加限制)       (3)全外连接(左右两表都不加限制) 外连接(Outer ...

  6. List<Map<String,Object>>使用Java代码遍历

    List<Map<String,Object>>的结果集怎么使用Java代码遍历以获取String,Object的值: package excel; import java.u ...

  7. Nginx-->基础-->理论-->nginx进程模型

    一.nginx的进程模型基础 如上图,是nginx的基本进程模型. 1.nginx的master进程与worker进程关系 nginx的master进程负责worker进程的管理,包括创建worker ...

  8. CentOS 6.5 安装Oracle 11G R2问题列表

    1. 文章中写vi/etc/profile #这个很重要 if [ $USER ="oracle" ]; then     if [ $SHELL="/bin/ksh&q ...

  9. Fedora22编译Qt3.3.X

    FC22编译QT3 安装g++ dnf install gcc-c++ 1,configure ./configure -thread -no-nis -system-libpng -system-l ...

  10. Spring bean的作用域和生命周期

    bean的作用域 1.singleton,prototype, web环境下:request,session,gloab session 2.通过scope="" 来进行配置 3. ...