linux 上下文切换监控,性能监控 – 找出在linux上生成大量上下文切换的任务

这篇博客讨论了一台Linux服务器上遇到的高上下文切换问题,尽管负载平均值较低。通过vmstat和pidstat命令的输出,发现一些postgresql进程可能存在频繁的上下文切换。博主正在寻求更深入的方法来确定导致这一问题的具体进程或线程。
摘要由CSDN通过智能技术生成

根据vmstat,我的

Linux服务器(2xCore2 Duo 2.5 GHz)每秒不断进行大约20k的上下文切换.

# vmstat 3

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

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

2 0 7292 249472 82340 2291972 0 0 0 0 0 0 7 13 79 0

0 0 7292 251808 82344 2291968 0 0 0 184 24 20090 1 1 99 0

0 0 7292 251876 82344 2291968 0 0 0 83 17 20157 1 0 99 0

0 0 7292 251876 82344 2291968 0 0 0 73 12 20116 1 0 99 0

…但正常运行时间显示小负载:负载平均值:0.01,0.02,0.01并且top不显示任何具有高CPU使用率的进程.

如何找出生成这些上下文切换的确切内容?哪个进程/线程?

我试图分析pidstat输出:

# pidstat -w 10 1

12:39:13 PID cswch/s nvcswch/s Command

12:39:23 1 0.20 0.00 init

12:39:23 4 0.20 0.00 ksoftirqd/0

12:39:23 7 1.60 0.00 events/0

12:39:23 8 1.50 0.00 events/1

12:39:23 89 0.50 0.00 kblockd/0

12:39:23 90 0.30 0.00 kblockd/1

12:39:23 995 0.40 0.00 kirqd

12:39:23 997 0.60 0.00 kjournald

12:39:23 1146 0.20 0.00 svscan

12:39:23 2162 5.00 0.00 kjournald

12:39:23 2526 0.20 2.00 postgres

12:39:23 2530 1.00 0.30 postgres

12:39:23 2534 5.00 3.20 postgres

12:39:23 2536 1.40 1.70 postgres

12:39:23 12061 10.59 0.90 postgres

12:39:23 14442 1.50 2.20 postgres

12:39:23 15416 0.20 0.00 monitor

12:39:23 17289 0.10 0.00 syslogd

12:39:23 21776 0.40 0.30 postgres

12:39:23 23638 0.10 0.00 screen

12:39:23 25153 1.00 0.00 sshd

12:39:23 25185 86.61 0.00 daemon1

12:39:23 25190 12.19 35.86 postgres

12:39:23 25295 2.00 0.00 screen

12:39:23 25743 9.99 0.00 daemon2

12:39:23 25747 1.10 3.00 postgres

12:39:23 26968 5.09 0.80 postgres

12:39:23 26969 5.00 0.00 postgres

12:39:23 26970 1.10 0.20 postgres

12:39:23 26971 17.98 1.80 postgres

12:39:23 27607 0.90 0.40 postgres

12:39:23 29338 4.30 0.00 screen

12:39:23 31247 4.10 23.58 postgres

12:39:23 31249 82.92 34.77 postgres

12:39:23 31484 0.20 0.00 pdflush

12:39:23 32097 0.10 0.00 pidstat

看起来有些postgresql任务正在进行每秒10次上下文切换,但无论如何它并不总是达到20k.

知道如何深入挖掘答案吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值