线上问题

./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. golang API 请求队列

    概要 实现思路 使用方法 启动队列服务 使用队列服务 概要 在调用第三方 API 的时候, 基本都有访问限速的限制条件. 第三方的 API 有多个的时候, 就不太好控制访问速度, 常常会导致 HTTP ...

  2. 什么是C和C++标准——小白必看

    本文简要介绍编写C/C ++应用程序的领域,标准库的作用以及它是如何在各种操作系统中实现的. 我已经接触C++一段时间了,一开始就让我感到疑惑的是其内部结构:我所使用的内核函数和类从何而来? 谁发明了 ...

  3. 【原创】有利于提高xenomai 实时性的一些配置建议

    版权声明:本文为本文为博主原创文章,转载请注明出处.如有错误,欢迎指正. @ 目录 一.影响因素 1.硬件 2.BISO(X86平台) 3.软件 4. 缓存使用策略与GPU 二.优化措施 1. BIO ...

  4. rpm|yum安装的查看安装路径

    [root@localhost src]# rpm -qa|grep grafanagrafana-7.1.0-1.x86_64[root@localhost src]# rpm -ql grafan ...

  5. centos8平台使用ulimit做系统资源限制

    一,ulimit的用途 1, ulimit 用于shell启动进程所占用的资源,可用于修改系统资源限制 2, 使用ulimit -a 可以查看当前系统的所有限制值 使用ulimit -n <可以 ...

  6. 2019-2020-1 20209313《Linux内核原理与分析》第二周作业

    2019-2020-1 20209313<Linux内核原理与分析>第二周作业 零.总结 阐明自己对"计算机是如何工作的"理解. 一.myod 步骤 复习c文件处理内容 ...

  7. 图解git,用手绘图带你理解git中分支的原理和应用

    大家好,今天我们来聊git当中一个非常非常重要的特性,就是branch. git branch可以说是git当中最重要的概念了,甚至没有之一.因为git最重要的使用场景就是协同开发,大家一起在一个项目 ...

  8. 用 Span 对 C# 进程中三大内存区域进行统一访问 ,太厉害了!

    一:背景 1. 讲故事 前段时间写了几篇 C# 漫文,评论留言中有很多朋友多次提到 Span,周末抽空看了下,确实是一个非常

  9. Raft协议备注

    Raft协议 Raft协议基于日志实现了一致性 实现备份的是机制:复制状态机Replicated State Machine,如果两个相同的.确定性的状态机从同一状态开始,以相同顺序输入相同的日志,则 ...

  10. scrapy爬取豆瓣电影信息

    最近在学python,对python爬虫框架十分着迷,因此在网上看了许多大佬们的代码,经过反复测试修改,终于大功告成! 原文地址是:https://blog.csdn.net/ljm_9615/art ...