Linux上下文切换监控


http://www.kuqin.com/shuoit/20160414/351556.html 

我们在监测Linux的应用的时候,当CPU的利用率非常高,但是系统的性能却上不去的时候,不妨监控一下线程/进程的切换,看看是不是context switching导致的overhead过高。

一般我使用dstat工具用来监控,比如dstat -y:

 

1

2

3

4

5

---system--

int csw

367 561

274 439

279 363

 

或者vmstat 3:

 

1

2

3

4

[root@abc smallnest]# vmstat 3

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

0 0 0 3126192 31692 1521612 0 0 176 325 166 258 1 1 96 3 0

 

但是如何知道那些进程/线程做切换能,淘宝褚霸有篇文章:latencytop深度了解你的Linux系统的延迟介绍了一种方法。事实上,有一个工具pidstat,可以用来监控上下文切换。 它是sysstat包其中的一个工具,sysstat包含好几个很棒的工具,比如sar、iostat等。

执行pidstat -w

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

root@abc smallnest]# pidstat -w

Linux 2.6.32-358.el6.x86_64 (abc) 04/11/2016 _x86_64_ (2 CPU)

11:25:00 PM PID cswch/s nvcswch/s Command

11:25:00 PM 1 0.60 0.03 init

11:25:00 PM 2 0.04 0.00 kthreadd

11:25:00 PM 3 0.36 0.00 migration/0

11:25:00 PM 4 0.58 0.00 ksoftirqd/0

11:25:00 PM 5 0.01 0.00 migration/0

11:25:00 PM 6 0.08 0.00 watchdog/0

11:25:00 PM 7 0.39 0.00 migration/1

11:25:00 PM 8 0.01 0.00 migration/1

11:25:00 PM 9 0.52 0.00 ksoftirqd/1

……

 

cswch/s是主动地上下文切换,nvcswch/s是被动执行上下文切换的次数。

如要要显示线程的上下文切换统计,可以执行``:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

[root@abc smallnest]# pidstat -wt

Linux 2.6.32-358.el6.x86_64 (abc) 04/11/2016 _x86_64_ (2 CPU)

11:27:57 PM TGID TID cswch/s nvcswch/s Command

11:27:57 PM 1 - 0.56 0.03 init

11:27:57 PM - 1 0.56 0.03 |__init

11:27:57 PM 2 - 0.03 0.00 kthreadd

11:27:57 PM - 2 0.03 0.00 |__kthreadd

11:27:57 PM 3 - 0.34 0.00 migration/0

11:27:57 PM - 3 0.34 0.00 |__migration/0

11:27:57 PM 4 - 0.57 0.00 ksoftirqd/0

11:27:57 PM - 4 0.57 0.00 |__ksoftirqd/0

11:27:57 PM 5 - 0.01 0.00 migration/0

……

 

更多的参数可以man pidstat获得。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值