当前位置: 首页 > news >正文

个人网站模板大全中国行业研究报告网

个人网站模板大全,中国行业研究报告网,微商代运营公司团队,南宁专业网站制作如何查看系统的上下文切换情况 上一篇文章我们说了过多的上下文切换#xff0c;会把CPU时间消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上#xff0c;那么当出现系统的上下文切换过多的时候#xff0c;我们如果通过监控指标查看呢。 vmstat 是一个常用的系统性能…如何查看系统的上下文切换情况 上一篇文章我们说了过多的上下文切换会把CPU时间消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上那么当出现系统的上下文切换过多的时候我们如果通过监控指标查看呢。 vmstat 是一个常用的系统性能分析工具主要用来分析系统的内存使用情况也常用来分析 CPU 上下文切换和中断的次数。 vmstat 5 代表的是5S输出一组 rootqxlxi:/data# vmstat 5 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st0 0 1296640 195580 158788 2402740 0 1 3 23 22 46 0 0 99 0 00 0 1296640 222836 158788 2402740 0 0 0 17 52 92 1 1 99 0 0cscontext switch每秒上下文切换次数in (interrupt) 每秒中断的次数r (Running or Runnable) 是就绪队列的长度也就是可运行的进程数进行和等待b (Blocked) 处于不可中断睡眠状态的进程数 从图中可以看到cs是92次上下文切换 in 52次中断。就绪队列和不可中断进程数都是0 查看每个进程的数据使用 pidstat -w rootqxlxi:/data# pidstat -w 5 Linux 5.4.0-100-generic (qxlxi) 09/23/2023 _aarch64_ (2 CPU)12:45:26 PM UID PID cswch/s nvcswch/s Command 12:45:31 PM 0 9 0.20 0.00 ksoftirqd/0 12:45:31 PM 0 10 3.79 0.00 rcu_sched 12:45:31 PM 0 11 0.20 0.00 migration/0 12:45:31 PM 0 17 0.20 0.00 migration/1 12:45:31 PM 0 18 0.40 0.00 ksoftirqd/1 12:45:31 PM 0 365 0.80 0.00 kworker/0:1H-kblockd 12:45:31 PM 0 382 0.20 0.00 kworker/1:1H-kblockd 12:45:31 PM 118 876 1.80 0.00 avahi-daemon 12:45:31 PM 0 885 0.20 0.00 irqbalance 12:45:31 PM 128 1490 0.20 0.00 gsd-color 12:45:31 PM 1000 1615 2.00 0.00 systemd 12:45:31 PM 1000 1708 0.20 0.00 Xorg 12:45:31 PM 1000 1888 0.20 0.00 gnome-shell 12:45:31 PM 1000 2006 0.20 0.00 gsd-color 12:45:31 PM 0 19788 0.20 0.00 systemd-journal 12:45:31 PM 0 60439 1.00 0.00 multipathd 12:45:31 PM 0 88948 4.19 1.60 systemd-udevd 12:45:31 PM 1000 115630 0.20 0.00 gnome-control-c 12:45:31 PM 0 487397 2.00 0.00 kworker/u4:1-events_power_efficient 12:45:31 PM 0 488871 6.99 0.00 kworker/1:1-events 12:45:31 PM 0 489061 0.40 0.00 kworker/u4:0-events_freezable_power_ 12:45:31 PM 0 489366 8.18 0.00 kworker/0:2-events 12:45:31 PM 0 489376 0.20 0.00 pidstatcswch/s 每秒自愿上下文切换voluntary context switches的次数nvcswch/s每秒非自愿上下文切换 (non voluntary context switches) 的次数 自愿上下文切换进程获取不到自愿的时候发生的上下文切换比如IO、网络、内存资源不足的时候。 非自愿上下文切换进程执行时间到了被系统强制调度进而发生上下文切换比如大量进程竞争CPU 场景分析 sysbench --threads10 --max-time300 threads run模拟10个线程执行。 查看总体 rootqxlxi:/data# vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st6 0 1296640 222000 158804 2403064 0 1 3 23 23 21 0 0 99 0 0 10 0 1296640 222000 158804 2403064 0 0 0 80 132863 2924643 15 80 5 0 05 0 1296640 222000 158804 2403064 0 0 0 0 142952 2734656 14 81 5 0 08 0 1296640 222000 158804 2403064 0 0 0 0 157159 2996906 14 85 1 0 07 0 1296640 221968 158804 2403064 0 0 0 0 140886 2726608 13 78 9 0 09 0 1296640 221968 158804 2403064 0 0 0 0 142394 2722918 14 80 6 0 0查看上下文切换次数升级到200多万而就绪队列达到了10us和sy的和达到了100%sy的占用率80多肯定有大量的CPU竞争。重点的次数也达到了1W多。 综合分析就绪队列过长导致的大量进程上下文切换从而导致系统CPU占用率更高。 查看进程 pidstat -w -u 1 查看进程上下文切换数据 qxlxiqxlxi:~$ pidstat -w -u 1 Linux 5.4.0-100-generic (qxlxi) 09/23/2023 _aarch64_ (2 CPU)12:51:09 PM UID PID %usr %system %guest %wait %CPU CPU Command 12:51:10 PM 1000 1699 0.98 0.00 0.00 0.00 0.98 0 gvfs-afc-volume 12:51:10 PM 0 489611 28.43 160.78 0.00 0.00 189.22 0 sysbench 12:51:10 PM 1000 489646 0.00 0.98 0.00 0.00 0.98 1 pidstat12:51:09 PM UID PID cswch/s nvcswch/s Command 12:51:10 PM 0 10 2.94 0.00 rcu_sched 12:51:10 PM 0 18 0.98 0.00 ksoftirqd/1 12:51:10 PM 0 382 0.98 0.00 kworker/1:1H-kblockd 12:51:10 PM 1000 1615 1.96 0.00 systemd 12:51:10 PM 0 60439 0.98 0.00 multipathd 12:51:10 PM 0 487195 6.86 0.00 kworker/0:1-events 12:51:10 PM 0 488871 5.88 0.00 kworker/1:1-events 12:51:10 PM 0 489585 0.98 0.00 kworker/u4:2-events_freezable_power_ 12:51:10 PM 1000 489646 0.98 53.92 pidstat12:51:10 PM UID PID %usr %system %guest %wait %CPU CPU Command 12:51:11 PM 128 1420 1.00 0.00 0.00 0.00 1.00 0 gnome-shell 12:51:11 PM 0 489611 26.00 161.00 0.00 0.00 187.00 0 sysbench12:51:10 PM UID PID cswch/s nvcswch/s Command 12:51:11 PM 0 10 8.00 0.00 rcu_sched 12:51:11 PM 0 18 3.00 0.00 ksoftirqd/1 12:51:11 PM 128 1420 3.00 12.00 gnome-shell 12:51:11 PM 1000 1615 2.00 0.00 systemd 12:51:11 PM 1000 1888 3.00 8.00 gnome-shell 12:51:11 PM 0 60439 1.00 0.00 multipathd 12:51:11 PM 0 487195 7.00 0.00 kworker/0:1-events 12:51:11 PM 0 487397 47.00 0.00 kworker/u4:1-events_unbound 12:51:11 PM 1000 488358 10.00 0.00 sshd 12:51:11 PM 0 488871 4.00 0.00 kworker/1:1-events 12:51:11 PM 0 489585 206.00 0.00 kworker/u4:2-events_unbound 12:51:11 PM 1000 489646 1.00 253.00 pidstat12:51:11 PM UID PID %usr %system %guest %wait %CPU CPU Command 12:51:12 PM 0 489611 19.00 169.00 0.00 0.00 188.00 0 sysbench 12:51:12 PM 1000 489646 0.00 1.00 0.00 1.00 1.00 1 pidstat12:51:11 PM UID PID cswch/s nvcswch/s Command 12:51:12 PM 0 10 4.00 0.00 rcu_sched 12:51:12 PM 0 18 10.00 0.00 ksoftirqd/1 12:51:12 PM 1000 1615 2.00 0.00 systemd 12:51:12 PM 1000 2130 1.00 0.00 evolution-alarm 12:51:12 PM 0 60439 1.00 0.00 multipathd 12:51:12 PM 0 487195 4.00 0.00 kworker/0:1-events 12:51:12 PM 0 487397 165.00 0.00 kworker/u4:1-events_unbound 12:51:12 PM 1000 488358 18.00 0.00 sshd 12:51:12 PM 0 488871 5.00 0.00 kworker/1:1-events 12:51:12 PM 0 489585 113.00 0.00 kworker/u4:2-events_freezable_power_ 12:51:12 PM 1000 489646 1.00 289.00 pidstat12:51:12 PM UID PID %usr %system %guest %wait %CPU CPU Command 12:51:13 PM 0 489611 27.00 158.00 0.00 0.00 185.00 0 sysbench12:51:12 PM UID PID cswch/s nvcswch/s Command 12:51:13 PM 0 10 5.00 0.00 rcu_sched 12:51:13 PM 0 11 1.00 0.00 migration/0 12:51:13 PM 0 17 1.00 0.00 migration/1 12:51:13 PM 0 18 1.00 0.00 ksoftirqd/1 12:51:13 PM 1000 1615 2.00 0.00 systemd 12:51:13 PM 0 60439 1.00 0.00 multipathd 12:51:13 PM 0 487195 8.00 0.00 kworker/0:1-events 12:51:13 PM 0 487397 96.00 0.00 kworker/u4:1-flush-253:0 12:51:13 PM 1000 488358 15.00 0.00 sshd 12:51:13 PM 0 488871 5.00 0.00 kworker/1:1-events 12:51:13 PM 0 489585 165.00 0.00 kworker/u4:2-events_unbound 12:51:13 PM 1000 489646 1.00 258.00 pidstat从图中可以发现切换较多的自愿上下文切换是进程 kworker/u4:2-events_unbound而这里只是显示的是进程的上下文切换而CPU在运行的是时候 Linux 调度的基本单位实际上是线程 pidstat -wt 1 可以查看线程的指标1:06:41 PM UID TGID TID cswch/s nvcswch/s Command 01:06:43 PM 0 1 - 0.92 0.00 systemd 01:06:43 PM 0 - 1 0.92 0.00 |__systemd 01:06:43 PM 0 10 - 19.27 0.00 rcu_sched 01:06:43 PM 0 - 10 19.27 0.00 |__rcu_sched 01:06:43 PM 0 18 - 8.26 0.00 ksoftirqd/1 01:06:43 PM 0 - 18 8.26 0.00 |__ksoftirqd/1 01:06:43 PM 0 382 - 0.92 0.00 kworker/1:1H-kblockd 01:06:43 PM 0 - 382 0.92 0.00 |__kworker/1:1H-kblockd 01:06:43 PM 0 - 937 0.92 0.00 |__gmain 01:06:43 PM 128 - 1300 0.92 0.00 |__gvfs-afc-volume 01:06:43 PM 128 - 1422 0.92 0.00 |__gmain 01:06:43 PM 1000 1615 - 1.83 0.00 systemd 01:06:43 PM 1000 - 1615 1.83 0.00 |__systemd 01:06:43 PM 1000 - 1700 0.92 0.00 |__gvfs-afc-volume 01:06:43 PM 1000 1708 - 3.67 0.00 Xorg 01:06:43 PM 1000 - 1708 3.67 0.00 |__Xorg 01:06:43 PM 1000 1888 - 2.75 0.00 gnome-shell 01:06:43 PM 1000 - 1888 2.75 0.00 |__gnome-shell 01:06:43 PM 1000 - 1900 0.92 0.00 |__gmain 01:06:43 PM 1000 - 2336 0.92 0.00 |__gmain 01:06:43 PM 1000 - 2745 0.92 0.00 |__gmain 01:06:43 PM 0 - 56981 0.92 0.00 |__gmain 01:06:43 PM 0 60439 - 0.92 0.00 multipathd 01:06:43 PM 0 - 60439 0.92 0.00 |__multipathd 01:06:43 PM 0 - 60443 0.92 0.00 |__multipathd 01:06:43 PM 0 487397 - 0.92 0.00 kworker/u4:1-events_freezable_power_ 01:06:43 PM 0 - 487397 0.92 0.00 |__kworker/u4:1-events_freezable_power_ 01:06:43 PM 1000 489904 - 1.83 0.00 baobab 01:06:43 PM 1000 - 489904 1.83 0.00 |__baobab 01:06:43 PM 0 490271 - 7.34 0.00 kworker/0:2-events 01:06:43 PM 0 - 490271 7.34 0.00 |__kworker/0:2-events 01:06:43 PM 0 490366 - 3.67 0.00 kworker/1:3-events 01:06:43 PM 0 - 490366 3.67 0.00 |__kworker/1:3-events 01:06:43 PM 0 - 490582 37280.73 249111.93 |__sysbench 01:06:43 PM 0 - 490583 30613.76 227590.83 |__sysbench 01:06:43 PM 0 - 490584 42267.89 214733.03 |__sysbench 01:06:43 PM 0 - 490585 36483.49 247768.81 |__sysbench 01:06:43 PM 0 - 490586 35252.29 251989.91 |__sysbench 01:06:43 PM 0 - 490587 35150.46 240639.45 |__sysbench 01:06:43 PM 0 - 490588 33030.28 207896.33 |__sysbench 01:06:43 PM 0 - 490589 34731.19 233100.00 |__sysbench 01:06:43 PM 0 - 490590 39934.86 232202.75 |__sysbench 01:06:43 PM 0 - 490591 36001.83 261024.77 |__sysbench 01:06:43 PM 0 490592 - 0.92 2479.82 pidstat 01:06:43 PM 0 - 490592 0.92 2502.75 |__pidstat到此我们就分析出上下文切换过多的进程是kworker。但是还有一个中断次数过多的问题。 因为中断是发生在内核中的所以我们需要通过/proc中的信息进行查看。 watch -d cat /proc/interrupts 小结 本篇主要介绍了查看上下文切换的几个常用命令分别是 vmstat 5 //总体监控 pidstat -w 5 //进程监控 pidstat -w -u 1 //-w 参数表示输出进程切换指标而 -u 参数则表示输出 CPU 使用指标 pidstat -wt 1 // -wt 参数表示输出线程的上下文切换指标 watch -d cat /proc/interrupts //内核中断指标而自愿上下文切换边多说明进程在等待资源可能发生了IO问题 非自愿上下文切换过多说明进程在被强制调度争抢CP 中断次数过多说明CPU被中断程序占用
http://www.ho-use.cn/article/10821888.html

相关文章:

  • 网站建设ps模板下载北京环球影城可以带水果吗
  • 表格里怎么做链接网站惠州网站建设公司排名
  • 有没人做阿里巴巴网站维护的区块链开发书籍
  • 网站海外推广多少钱数字化营销平台有哪些
  • html制作一个个人主页网站saas WordPress
  • 高水平的大连网站建设wordpress 主题
  • 淘宝内部卷网站怎么做建立网站建设考核激励制度
  • 做网站还有价值吗免费单页网站
  • 烟台网站建设设计公司wordpress 报表插件
  • 集团网站建设江苏常州烽火台网络推广
  • 杭州装饰网站建设学生校园网站模板
  • 别人公司网站进不去wordpress相册页面
  • 建设银行个人网站显示不了制作网页链接的app
  • 网站建设288动态视频素材网站
  • 上海网站开发设计公司价格划算的东莞建网站公司
  • 做网站排行怎样在百度上发布自己的信息
  • 网站知识架构手表回收网网站
  • 青海高端网站建设公司摄影网课
  • 自己做网站的优势大网站开发语言
  • 网页设计与网站建设书籍奉贤网页设计
  • 专业郑州做网站简单的美食网站模板免费下载
  • 天津企业网络建站百度网站建设要多少钱
  • 服务器搭建网站跑不满宽带建立网站服务的公司网站
  • 电脑可以做网站服务器么lamp网站开发制作
  • 行业网站网址帐号登录
  • 中国专门做生鲜的网站网站建设公司业务跟不上
  • 怎样在网站做视频链接凌晨三点看的片韩国
  • 常州天狼网站建设wordpress章节添加章节
  • 遵义网上制作网站石家庄网站做网站
  • 做钢管用哪个门户网站建立网上商城应考虑哪些问题