线上问题

./pidstat -w
Linux 3.6.5-Broadcom Linux ((none)) 03/21/20 _armv7l_ (1 CPU)
15:04:17 UID PID cswch/s nvcswch/s Command
15:04:17 0 1 0.03 0.00 busybox
15:04:17 0 2 0.00 0.00 kthreadd
15:04:17 0 3 0.11 0.00 ksoftirqd/0
15:04:17 0 5 0.00 0.00 kworker/0:0H
15:04:17 0 6 0.02 0.00 kworker/u:0
15:04:17 0 7 0.00 0.00 kworker/u:0H
15:04:17 0 8 0.00 0.00 migration/0
15:04:17 0 9 0.00 0.00 khelper
15:04:17 0 10 0.00 0.00 kdevtmpfs
15:04:17 0 11 1.22 0.00 kworker/0:1
15:04:17 0 442 55.11 0.08 spi1-list
15:04:17 0 461 30.52 0.03 mtdblock1
15:04:17 0 1026 0.48 17.77 db-server
/var #./iostat
Linux 3.6.5-Broadcom Linux ((none)) 03/26/20 _armv7l_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle
11.18 0.00 3.47 1.60 0.00 83.74 Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
mtdblock3 0.10 4.69 0.00 0.00 2633845 0 0 #./iostat -d 1
Linux 3.6.5-Broadcom Linux ((none)) 03/26/20 _armv7l_ (1 CPU) Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
mtdblock3 0.10 4.69 0.00 0.00 2635418 0 0 Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
mtdblock3 7.44 299.17 0.00 0.00 362 0 0 Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
mtdblock3 9.09 422.73 0.00 0.00 465 0 0 Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
mtdblock3 2.91 189.32 0.00 0.00 195 0 0 ^C
#./pidstat -d 1 2
Linux 3.6.5-Broadcom Linux ((none)) 03/26/20 _armv7l_ (1 CPU) 15:23:15 UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command 15:23:16 UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command Average: UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command
#top
Mem: 162664K used, 75868K free, 0K shrd, 5516K buff, 27328K cached
CPU: 37% usr 11% sys 0% nic 0% idle 50% io 0% irq 0% sirq
Load average: 4.83 4.53 4.44 1/122 983
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
1029 909 root S 113m 48% 6% /user/sbin/ops-
1026 909 root S 9588 4% 6% /user/sbin/ovsdb-server --remote=punix
442 2 root SW 0 0% 1% [spi1-list]
461 2 root SW 0 0% 1% [mtdblock1]
1187 909 root S 19812 8% 1% /user/sbin/logs -n /dev/user_log
1028 909 root S 24340 10% 1% /user/sbin/helper -n /dev/user_a
1055 909 root S 48688 20% 0% /user/sbin/lagd --pidfile --log-w
1119 909 root S 26016 11% 0% /user/sbin/clid
1056 909 root S 8680 4% 0% /user/sbin/arpmgrd --pidfile --log
1111 909 root S 3044 1% 0% /user/boa -d
3368 850 root S 1616 1% 0% /usr/sbin/drop
980 3401 root R 848 0% 0% top
1102 909 root S 37656 16% 0% /user/sbin/ops-loop
1118 909 root S 37192 16% 0% /user/sbin/confd
1033 909 root S 34724 15% 0% /user/sbin/pidfile
1044 909 root S 33116 14% 0% /user/sbin/xxxx
1039 909 root S 26344 11% 0% /user/sbin/vtysh -N
1169 909 root S 24512 10% 0% /user/sbin/nlack
1063 909 root S 23020 10% 0% /user/sbin/user
^C061 909 root S 13740 6% 0% /user/sbin/xxxxx

说明:IO 高,Cswch/s:每秒主动任务上下文切换数量 高, 但是看不到具体进程io数据,说明是内存 cache bufer导致io 高需要vmstat 工具查看。

附上:pidstat 用法:pidstat [ 选项 ] [ <时间间隔> ] [ <次数> ]

常用的参数:

  • -u:默认的参数,显示各个进程的cpu使用统计
  • -r:显示各个进程的内存使用统计
  • -d:显示各个进程的IO使用情况
  • -p:指定进程号
  • -w:显示每个进程的上下文切换情况
  • -t:显示选择任务的线程的统计信息外的额外信息

pidstat -u
使用-u选项,pidstat将显示各活动进程的cpu使用统计,执行”pidstat -u”与单独执行”pidstat”的效果一样。
pidstat -r
/var #./pidstat -r 1 3
Linux 3.6.5-Broadcom Linux ((none)) 03/26/20 _armv7l_ (1 CPU)

16:55:32 UID PID minflt/s majflt/s VSZ RSS %MEM Command
16:55:34 0 463 715.09 0.00 5232 2496 1.05 pidstat
16:55:34 0 909 8.49 0.00 8520 1276 0.53 xxxx
16:55:34 0 1026 16.98 0.00 9624 3672 1.54 xx-server
16:55:34 0 1028 47.17 0.00 24340 3932 1.65 xxx
16:55:34 0 1029 36.79 0.00 115900 29044 12.18 ops-xxx
16:55:34 0 1033 0.94 0.00 34724 3488 1.46 ops-xx
16:55:34 0 1039 6.60 0.00 26016 4512 1.89 eee
16:55:34 0 1044 3.77 0.00 33116 2120 0.89 ops-xxx
16:55:34 0 1055 9.43 0.00 48688 2392 1.00 xx-xx
16:55:34 0 1056 2.83 0.00 8680 2360 0.99 ops-xx
16:55:34 0 1063 12.26 0.00 23020 1952 0.82 xxx-xxx
16:55:34 0 1102 0.94 0.00 37656 2548 1.07 ops-xx-de
16:55:34 0 1118 10.38 0.00 37192 14432 6.05 xxx
16:55:34 0 1125 12.26 0.00 8552 1200 0.50 xx
16:55:34 0 1169 0.94 0.00 24512 1196 0.50 xxx
16:55:34 0 1187 0.94 0.00 19812 816 0.34 logs

使用-r选项,pidstat将显示各活动进程的内存使用统计
ID:进程标识符
Minflt/s:任务每秒发生的次要错误,不需要从磁盘中加载页
Majflt/s:任务每秒发生的主要错误,需要从磁盘中加载页
VSZ:虚拟地址大小,虚拟内存的使用KB
RSS:常驻集合大小,非交换区五里内存使用KB
Command:task命令名

pidstat -d 1 3
#./pidstat -d 1 3
Linux 3.6.5-Broadcom Linux ((none)) 03/26/20 _armv7l_ (1 CPU)

17:02:05 UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command

17:02:06 UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command

17:02:07 UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command

Average: UID PID kB_rd/s kB_wr/s kB_ccwr/s iodelay Command

报告IO统计显示以下信息:
PID:进程id
kB_rd/s:每秒从磁盘读取的KB
kB_wr/s:每秒写入磁盘KB
kB_ccwr/s:任务取消的写入磁盘的KB。当任务截断脏的pagecache的时候会发生。
COMMAND:task的命令名

每个进程的上下文切换情况(-w)
pidstat -w -p 2831
./pidstat -w -p 1111 1 3
Linux 3.6.5-Broadcom Linux ((none)) 03/26/20 _armv7l_ (1 CPU)

17:05:05 UID PID cswch/s nvcswch/s Command
17:05:06 0 1111 13.59 0.00 boa
17:05:07 0 1111 34.65 21.78 boa
17:05:08 0 1111 41.58 117.82 boa
Average: 0 1111 29.84 46.23 boa
PID:进程id
Cswch/s:每秒主动任务上下文切换数量
Nvcswch/s:每秒被动任务上下文切换数量
Command:命令名

选择任务的线程的统计信息外的额外信息 (-t)
./pidstat -t -p 1026 1 3
Linux 3.6.5-Broadcom Linux ((none)) 03/26/20 _armv7l_ (1 CPU)

17:07:05 UID TGID TID %usr %system %guest %wait %CPU CPU Command
17:07:06 0 1026 - 0.00 0.00 0.00 0.00 0.00 0 xx-server
17:07:06 0 - 1026 0.00 0.00 0.00 0.00 0.00 0 |xxx-server

17:07:06 UID TGID TID %usr %system %guest %wait %CPU CPU Command
17:07:07 0 1026 - 6.93 0.99 0.00 0.00 7.92 0 xx-server
17:07:07 0 - 1026 6.93 0.99 0.00 0.00 7.92 0 |xx-server

TGID:主线程的表示
TID:线程id
%usr:进程在用户空间占用cpu的百分比
%system:进程在内核空间占用cpu的百分比
%guest:进程在虚拟机占用cpu的百分比
%CPU:进程占用cpu的百分比
CPU:处理进程的cpu编号
Command:当前进程对应的命令

性能问题eg的更多相关文章

  1. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  2. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  3. 03.SQLServer性能优化之---存储优化系列

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概  述:http://www.cnblogs.com/dunitian/p/60413 ...

  4. SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]

    目录 SignalR系列目录 前言 也是好久没写博客了,近期确实很忙,嗯..几个项目..头要炸..今天忙里偷闲.继续我们的小系列.. 先谢谢大家的支持.. 我们来聊聊SignalR的性能监测与服务器的 ...

  5. 【前端性能】高性能滚动 scroll 及页面渲染优化

    最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...

  6. Web性能优化:What? Why? How?

    为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...

  7. Web性能优化:图片优化

    程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...

  8. C#中那些[举手之劳]的性能优化

    隔了很久没写东西了,主要是最近比较忙,更主要的是最近比较懒...... 其实这篇很早就想写了 工作和生活中经常可以看到一些程序猿,写代码的时候只关注代码的逻辑性,而不考虑运行效率 其实这对大多数程序猿 ...

  9. JavaScript性能优化

    如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...

  10. 06.SQLServer性能优化之---数据库级日记监控

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 之前说了一下数据库怎么发邮件:http://www.cnblogs.com/duniti ...

随机推荐

  1. Java 合并Word文档

    合并文档可以是将两个包含一定逻辑关系的文档合并成一个完整的文档,也可以是出于方便文档存储.管理的目的合并多个文档为一个文档.下面,就将以上文档操作需求,通过Java程序来实现Word文档合并.合并文档 ...

  2. spring-boot-route(十七)使用aop记录操作日志

    在上一章内容中--使用logback管理日志,我们详细讲述了如何将日志生成文件进行存储.但是在实际开发中,使用文件存储日志用来快速查询问题并不是最方便的,一个优秀系统除了日志文件还需要将操作日志进行持 ...

  3. STM32时钟和定时器

    时钟源 STM32包含了5个时钟源,分别为HSI.HSE.LSI.LSE.PLL. HSI是高速内部时钟.RC振荡器,频率为8MHz: HSE是高速外部时钟,即晶振,可接石英/陶瓷谐振器或接外部时钟源 ...

  4. 极简 Node.js 入门 - 5.3 静态资源服务器

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  5. Codeforces Round #677 (Div. 3) D/1433D Districts Connection

    https://codeforces.com/contest/1433/problem/D 找两个不同权值的节点A.B连起来,所有与A不同权值的连到A上,相同的连到B上. #include<io ...

  6. 国内npm镜像源设置

    淘宝npm镜像 搜索地址:http://npm.taobao.org/ registry地址:http://registry.npm.taobao.org/ cnpmjs镜像 搜索地址:http:// ...

  7. Redis学习笔记(三)——数据结构之字符串(String)

    一.介绍 String类型,是二进制安全的,存入和获取的数据相同,value最多可以容纳的数据长度是512M,可以存放json数据,图像数据等等. 存储String常用命令: 赋值(set) 取值(g ...

  8. better-scroll插件 api

    Vue中的better-scroll插件 在需要的文件中添加 import BScorll from 'better-scroll'; 引用的示例代码: let scroll = new BScrol ...

  9. codefroces中的病毒,这题有很深的trick,你能解开吗?

    大家好,欢迎阅读周末codeforces专题. 我们今天选择的问题是contest 1419的C题,目前有接近8000的人通过了本题.今天这题的难度不大,但是真的很考验思维,一不小心就会踩中陷阱,我个 ...

  10. 云计算管理平台之OpenStack镜像服务glance

    一.glance简介 openstack中的glance服务是用来存储在openstack上启动虚拟机所需镜像:它主要用于发现.注册及检索虚拟机镜像:它通过提供RESTful风格的api对外提供服务: ...