centos8平台使用pidstat监控cpu/内存/io
一,安装pidstat:
1,安装
[root@localhost yum.repos.d]# yum install sysstat
2,查看版本:
[root@localhost ~]# pidstat -V
sysstat 版本 11.7.3
(C) Sebastien Godard (sysstat <at> orange.fr)
说明:一般会默认安装,如未安装则可以用上面的yum命令进行安装
3,如果已安装,可以查看所属的rpm包:
[root@yjweb ~]# whereis pidstat
pidstat: /usr/bin/pidstat /usr/share/man/man1/pidstat.1.gz
[root@yjweb ~]# rpm -qf /usr/bin/pidstat
sysstat-11.7.3-2.el8.x86_64
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,最常用的六个参数
-u:监控cpu
-r:监控内存
-d:监控硬盘
-w: 显示每个进程的上下文切换情况
-t: 显示选择任务的线程的统计信息
-p: 指定进程id
三,常用的用法举例:
1,监控磁盘
[root@SearchCacheServer ~]# pidstat -d
2,监控cpu
[root@SearchCacheServer ~]# pidstat -u
3,监控内存
[root@SearchCacheServer ~]# pidstat -r
4,上下文切换
[root@SearchCacheServer ~]# pidstat -w
四,io使用情况的输出信息意义:
[root@SearchCacheServer ~]# pidstat -d
PID:进程id
kB_rd/s:每秒从磁盘读取的KB
kB_wr/s:每秒写入磁盘KB
kB_ccwr/s:任务取消的写入磁盘的KB。当任务截断脏的pagecache的时候会发生。
任务取消的写入磁盘的kb数。在任务压缩脏页缓存时可能发生这种情况。在这种情况下,其他任务发起的IO不会处理。
iodelay: 表示 I/O 的延迟(单位是时钟周期),包括等待同步块 I/O 和换入块 I/O 结束的时间
任务的I/O阻塞延迟,以时钟周期为单位。包括同步块I/O和换入块I/O
COMMAND:task的命令名
五,查看上下文切换的输出信息意义:
[root@yjweb ~]$ pidstat -wt
上下文切换的输出信息:
cswch/s:表示每秒自愿上下文切换(voluntary context switches)的次数
ncswch/s:表示每秒非自愿上下文切换(non voluntary context switches)的次数
这两个概念一定要牢牢记住,因为它们意味着不同的性能问题:
所谓自愿上下文切换,是指进程无法获取所需资源,导致的上下文切换。
比如说, I/O、内存等系统资源不足时,就会发生自愿上下文切换。
而非自愿上下文切换,则是指进程由于时间片已到等原因,被系统强制调度,进而发生的上下文切换。
比如说,大量进程都在争抢 CPU 时,就容易发生非自愿上下文切换。
观察上下文切换的意义:
自愿上下文切换变多了,说明进程都在等待资源,有可能发生了 I/O 等其他问题; 非自愿上下文切换变多了,说明进程都在被强制调度,也就是都在争抢 CPU,说明 CPU 的确成了瓶颈;
六,显示线程的统计信息 (-t)
[root@yjweb ~]# pidstat -t -p 17700
输出信息:
TGID:主线程的表示
TID:线程id
%usr:进程在用户空间占用cpu的百分比
%system:进程在内核空间占用cpu的百分比
%guest:进程在虚拟机占用cpu的百分比
%CPU:进程占用cpu的百分比
%wait: 进程或者线程等待的cpu使用率;此值过高,表示出现进程或线程争抢CPU的情况
CPU:处理进程的cpu编号
Command:当前进程对应的命令
七,查看cpu的使用情况
[root@yjweb ~]# pidstat -u -p 17700
说明:输出内容与 -t相同,但只显示进程的情况
八,查看指定进程的内存使用情况:
[root@yjweb ~]# pidstat -r -p 17700
输出内容:
PID:进程标识符
Minflt/s:任务每秒发生的次要错误,不需要从磁盘中加载页
任务造成的小错误的总数。小错误指的是还不需要从磁盘中加载一个内存页。
Majflt/s:任务每秒发生的主要错误,需要从磁盘中加载页
任务造成的大错误的总数。大错误指的是需要从磁盘中加载一个内存页。
VSZ:
整个任务使用的虚拟内存大小,以kb为单位
RSS:常驻集合大小,非交换区物理内存,使用KB
任务使用的没有被交换的物理内存,以kb为单位
%MEM:任务占用的可用物理内存的比例
Command:task命令名
九,pidstat如何对输出数据做排序?
#sort: 排序
#-k : 指定排序用哪一列,下面的例子中是第8列:%CPU
#-r : 倒序
[root@blog databak]# pidstat -u | sort -k 8 -r
02:45:17 PM UID PID %usr %system %guest %wait %CPU CPU Command
02:45:17 PM 0 30330 0.12 0.07 0.00 0.00 0.19 2 AliYunDun
02:45:17 PM 1002 17700 0.05 0.02 0.00 0.00 0.06 0 mysqld
02:45:17 PM 0 23413 0.01 0.01 0.00 0.00 0.03 3 aliyun-service
02:45:17 PM 0 8240 0.00 0.01 0.00 0.00 0.01 1 redis-server
02:45:17 PM 0 30315 0.01 0.00 0.00 0.00 0.01 1 AliYunDunUpdate
02:45:17 PM 0 404 0.00 0.00 0.00 0.00 0.00 3 xfsaild/vda1
十,查看本地centos的版本
[root@yjweb ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
centos8平台使用pidstat监控cpu/内存/io的更多相关文章
- centos8平台使用mpstat监控cpu
一,mpstat的用途 mpstat是 Multiprocessor Statistics的缩写,是实时cpu监控工具. 在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU ...
- centos8平台使用slabtop监控slab内存的状态
一,slabtop 所属的包: [root@yjweb ~]# whereis slabtop slabtop: /usr/bin/slabtop /usr/share/man/man1/slabto ...
- python glances来监控linux服务器CPU 内存 IO使用
什么是 Glances? Glances 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具. 通过 Glances,我们可以监视 ...
- centos8平台使用iotop监控磁盘io
一,iotop的作用: iotop是监视磁盘I/O使用状况的top类工具, 可以针对进程和线程统计io的使用情况 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblog ...
- centos8平台使用iostat监控磁盘io
一,iostat所属的包: [root@centos8 ~]# whereis iostat iostat: /usr/bin/iostat /usr/share/man/man1/iostat.1. ...
- Linux性能监控——CPU,Memory,IO,Network
版权声明:本文由刘爽原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/107 来源:腾云阁 https://www.qclou ...
- centos8平台使用vmstat监控系统
一,vmstat的用途和特点: vmstat 是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数. 相对于 iostat 来说,vmstat 可 ...
- python监控cpu 内存实现邮件微信报警
# qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 import psutil, time,smtplib,socket import ...
- shell脚本监控cpu/内存使用率 转
该脚本检测cpu和内存的使用情况,只需要调整memorySetting.cpuSetting.userEmail要发邮件报警的email地址即可 如果没有配置发邮件参数的哥们,已配置了的,直接飞到代码 ...
随机推荐
- 阿里云openssl升级,实现nginx主动推送,nginx主动推送能够有效减少不必要的报文传输,减少用户请求次数,以达到更快访问速度
现有版本检查 [root@node3 ~]# openssl version #这个版本是无法支持http2.0主动推送功能.需要升级为2019版本. OpenSSL 1. ...
- 【python练习册】1.3 将1.2题生成的n个激活码保存到mysql关系型数据库中
该题涉及到mysql中一些指令,先熟悉一下 MySQL指令 参考:https://www.cnblogs.com/zhuyongzhe/p/7686105.html mysql -u root -p ...
- mini logger for c++
水平太菜,最近捣鼓这个 log,折腾了好一会.由于之前都是用 std::cout,不能满足同时输出到屏与文件的目的,故经过一番搜索,在stackoverflow 找到了答案,现总结如下: 头文件 lo ...
- k8s架构分析(二)
master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...
- web网站——nginx,LNMP部署03
nginx功能: (1)web服务器: 默认网页目录为:/usr/share/nginx/html (2)反向代理服务器: nginx代替客户端访问后端服务器,后端服务器只知道是nginx的请求,并将 ...
- VUE开发(一)Spring Boot整合Vue并实现前后端贯穿调用
文章更新时间:2020/03/14 一.前言 作为一个后端程序员,前端知识多少还是要了解一些的,vue能很好的实现前后端分离,且更便于我们日常中的调试,还具备了轻量.低侵入性的特点,所以我觉得是很有必 ...
- 微信App支付接入步骤&支付中前后端交互流程
最近对微信App支付(App端集成微信支付SDK)申请步骤,以及终端在进行微信支付时商户App.商户Server.微信App.微信支付Server的交互流程进行了简单了解.这篇文章应该算是学习笔记,分 ...
- 中秋国庆8天挑战赛 之 挑战8天掌握微信小程序
中秋国庆8天挑战赛 挑战8天掌握微信小程序 当前学习进度: // 10.1// 学习内容:// 10.2// 学习内容:// 10.3// 学习内容:// 10.4// 学习内容:// ...
- Lyndon words学习笔记
Lyndon words 定义: 对于一个字符串\(S\),若\(S\)的最小后缀是其本身,则\(S\)为一个\(lyndon\)串; 记为\(S\in L\); 即: \[S \in L \begi ...
- 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...