[转帖]Linux性能优化(三)——sysstat性能监控工具

linux,性能,优化,sysstat,监控,工具 · 浏览次数 : 0

小编点评

**性能优化二:pidstat命令** **用法:** ```bash pidstat [选项] [ <时间间隔> ] [ <次数> ]-u:默认参数,显示各进程的CPU使用统计 ``` **选项:** * `-u`:显示各进程的CPU使用统计。默认参数。 * `-r`:显示各进程的内存使用统计。 * `-d`:显示磁盘相关统计信息。 * `-m`:显示slabinfo统计信息及多种系统活动数量。 * `-s`:显示内存相关统计信息及多种系统活动数量。 * `-m`:显示进程间内存交换数量。 * `-d`:显示磁盘相关统计信息。 * `-p`:显示指定磁盘分区统计信息。 * `-S`:指定单位显示,默认单位为K。 * `-V`:显示vmstat版本信息。 **示例:** ```bash pidstat -u -m ``` **输出:** ``` CPU Usage by PID Total User System ---------- PPS ------- -------- 28073 4.00 1.00 1.00 34567 5.00 1.00 1.00 45678 6.00 1.00 1.00 ``` **性能优化三:vmstat命令** **用法:** ```bash vmstat [选项] [delay [count]]-a:显示活跃和非活跃内存 ``` **选项:** * `-a`:显示活跃和非活跃内存。默认参数。 * `-f`:显示从系统启动至今的fork数量。 * `-m`:显示slabinfo统计信息及多种系统活动数量。 * `-s`:显示内存相关统计信息及多种系统活动数量。 * `-d`:显示磁盘相关统计信息。 * `-p`:显示指定磁盘分区统计信息。 * `-S`:指定单位显示,默认单位为1024。 * `-V`:显示vmstat版本信息。 **示例:** ```bash vmstat -s ``` **性能优化四:procs命令** **用法:** ```bash procs [-r 列] [-n] [-S unit] [delay [ count]] ``` **选项:** * `-r`:显示等待CPU的进程数量。 * `-b`:显示正在不可中断休眠(等待IO)的进程数量。 * `-m`:显示进程间内存交换数量。 * `-d`:显示磁盘相关统计信息。 * `-p`:显示指定磁盘分区统计信息。 **示例:** ```bash procs -r ```

正文

 

 

1、sysstat简介

一、sysstat简介

sysstat提供了Linux性能监控工具集,包括sar、sadf、mpstat、iostat、pidstat等,用于监控Linux系统性能和使用状况。
iostat - 提供CPU统计,存储I/O统计(磁盘设备,分区及网络文件系统)
mpstat - 提供单个或组合CPU相关统计
pidstat - 提供Linux进程级别统计:I/O、CPU、内存等
sar - 收集、报告、保存系统活动信息:CPU、内存、磁盘、中断、网络接口、TTY、内核表等
sadc - 系统活动数据收集器,做为sar后端使用
sa1 - 收集系统活动平常数据,并二进制格式存储,它做为sadc的工具的前端,能够经过cron来调用
sa2 - 生成系统每日活动报告,一样可做为sadc的工具的前端,能够经过cron来调用
sadf - 能够以CSV、XML格式等显示sar收集的性能数据,这样很是方便的将系统数据导入到数据库中,或导入到Excel中来生成图表
nfsiostat-sysstat: 提供NFS I/O统计
cifsiostat: 提供CIFS统计
pidstat输出结果的%wait指标,表明进程等待CPU的时间百分比,systat 11.5.5版本才引入新指标。html

二、sysstat安装

sysstat能够经过yum安装
yum install sysstat
下载源码sysstat-11.6.6.tar.xz安装:
http://sebastien.godard.pagesperso-orange.fr/download.html
编译选项配置:
configure
编译:
make
安装:
sudo make install前端

2、mpstat

一、mpstat简介

mpstat是一个经常使用的多核CPU性能分析工具,用来实时查看每一个CPU的性能指标以及全部CPU的平均指标,数据文件/proc/stat。
mpstat是Multiprocessor Statistics缩写,是实时系统监控工具。node

二、mpstat命令

mpstat [-P {cpu|ALL}] [internal [count]]
-P {cpu l ALL}:表示监控的CPU, cpu在[0,cpu个数-1]中取值
internal:相邻的两次采样的间隔时间
count:采样的次数,count只能和delay一块儿使用ios

三、mpstat指标展现

Linux性能优化(三)——sysstat性能监控工具
CPU:处理器ID
%usr:在internal时间段里,用户态CPU时间,不包含nice值为负的进程
%nice:在internal时间段里,nice值为负进程的CPU时间。
%sys:在internal时间段里,内核太的CPU时间。
%iowait:internal时间段里,硬盘IO等待时间。
%irq:在internal时间段里,硬中断时间。
%soft:在internal时间段里,软中断时间。
%steal:显示虚拟机管理器在服务另外一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比。
%guest:显示运行虚拟处理器时CPU花费时间的百分比。
%idle:在internal时间段里,CPU除去等待磁盘IO操做外的由于任何缘由而空闲的时间闲置时间。数据库

3、sar

一、sar简介

sar(System Activity Reporter,系统活动状况报告)是Linux最为全面的系统性能分析工具之一,能够从多方面对系统的活动进行报告,包括:文件的读写状况、系统调用的使用状况、磁盘IO、CPU效率、内存使用情况、进程活动及IPC有关的活动等。express

二、sar命令

sar [options] [-A] [-o file] t [n]
-A:全部报告的总和
-u:输出CPU使用状况的统计信息
-v:输出inode、文件和其余内核表的统计信息
-d:输出每个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示IO和传送速率的统计信息
-a:文件读写状况
-c:输出进程统计信息,每秒建立的进程数
-R:输出内存页面的统计信息
-y:终端设备活动状况
-w:输出系统交换活动信息后端

三、sar经常使用命令

(1)CPU资源监控
Linux性能优化(三)——sysstat性能监控工具
CPU:all表示统计信息为全部CPU的平均值。
%user:显示在用户级别(application)运行使用CPU总时间的百分比。
%nice:显示在用户级别,用于nice操做,所占用CPU总时间的百分比。
%system:在内核态运行所使用CPU总时间的百分比。
%iowait:显示用于等待IO操做占用CPU总时间的百分比。
%steal:管理程序(hypervisor)为另外一个虚拟进程提供服务而等待虚拟CPU的百分比。
%idle:显示CPU空闲时间占用CPU总时间的百分比。
sar -u -f test
查看二进制文件test内容
(2)文件监控
每10秒采样一次,连续采样3次,观察核心表的状态
sar -v 10 3
Linux性能优化(三)——sysstat性能监控工具
dentunusd:目录高速缓存中未被使用的条目数量
file-nr:文件句柄(file handle)的使用数量
inode-nr:索引节点句柄(inode handle)的使用数量
pty-nr:使用pty数量
(3)内存和交换空间监控
sar -r 10 3
每10秒采样一次,连续采样3次,监控内存分页
Linux性能优化(三)——sysstat性能监控工具
kbmemfree:可用内存大小,不包括buffer和cache的空间。
kbmemused:已用内存大小,包括buffer和cache的空间.
%memused:kbmemused和内存总量(不包括swap)的一个百分比。
kbbuffers:
kbcached:
kbcommit:保证当前系统所须要的内存,即为了确保不溢出而须要的内存(RAM+swap)。
%commit:kbcommit与内存总量(包括swap)的一个百分比。
(4)内存分页监控
sar -B 10 3
每10秒采样一次,连续采样3次,监控内存分页
Linux性能优化(三)——sysstat性能监控工具
pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)
pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)
fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
majflt/s:每秒钟产生的主缺页数.
pgfree/s:每秒被放入空闲队列中的页个数
pgscank/s:每秒被kswapd扫描的页个数
pgscand/s:每秒直接被扫描的页个数
pgsteal/s:每秒钟从cache中被清除来知足内存须要的页个数
%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比
(5)IO监控
sar -b 10 3
每10秒采样一次,连续采样3次,报告缓冲区的使用状况
Linux性能优化(三)——sysstat性能监控工具
tps:每秒钟物理设备的 I/O 传输总量
rtps:每秒钟从物理设备读入的数据总量
wtps:每秒钟向物理设备写入的数据总量
bread/s:每秒钟从物理设备读入的数据量,单位为 块/s
bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s
(6)进程队列和平均负载监控
sar -q 10 3
每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态
Linux性能优化(三)——sysstat性能监控工具
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载(System load average)
ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载
(7)系统交换信息监控
sar -w 10 3
每10秒采样一次,连续采样3次,监控系统交换活动信息
Linux性能优化(三)——sysstat性能监控工具
(8)设备使用状况监控
sar -d -p 10 3
每10秒采样一次,连续采样3次,报告设备使用状况
Linux性能优化(三)——sysstat性能监控工具
DEV:设备名称
tps:每秒从物理磁盘I/O的次数。多个逻辑请求会被合并为一个IO磁盘请求,一次传输的大小是不肯定的。
rd_sec/s:每秒读扇区的次数。
wr_sec/s:每秒写扇区的次数。
avgrq-sz:平均每次设备IO操做的数据大小(扇区)。
avgqu-sz:磁盘请求队列的平均长度。
await:从请求磁盘操做到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒。
svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间。
%util:IO请求占CPU的百分比,比率越大说明越饱和。
(9)网卡监控
sar –n DEV 1 4
-n参数选项:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套 接字信息,ALL显示全部。
Linux性能优化(三)——sysstat性能监控工具
IFACE:LAN接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包缓存

4、pidstat

一、pidstat简介

pidstat是sysstat的一个命令,用于监控所有或指定进程的CPU、内存、线程、设备IO等系统资源的占用状况。Pidstat第一次采样显示自系统启动开始的各项统计信息,后续采样将显示自上次运行命令后的统计信息。用户能够经过指定统计的次数和时间来得到所需的统计信息。性能优化

二、pidstat命令

pidstat [ 选项 ] [ <时间间隔> ] [ <次数> ]
-u:默认参数,显示各进程的CPU使用统计
-r:显示各进程的内存使用统计
-d:显示各进程的IO使用状况
-p:指定进程号
-w:显示每一个进程的上下文切换状况
-t:显示选择任务的线程的统计信息外的额外信息
-T { TASK | CHILD | ALL }:指定pidstat监控的内容。TASK表示报告独立的task,CHILD表示报告进程下全部线程统计信息,ALL表示报告独立的task和task下的全部线程。
-V:版本号
-h:在一行上显示全部活动。
-I:在SMP环境,表示任务的CPU使用率/内核数量
-l:显示命令名和全部参数服务器

三、pidstat经常使用命令

(1)查看全部进程的CPU使用状况

pidstat
pidstat -u -p ALL

Linux性能优化(三)——sysstat性能监控工具
PID:进程ID
%usr:进程在用户空间占用CPU的百分比
%system:进程在内核空间占用CPU的百分比
%guest:进程在虚拟机占用CPU的百分比
%CPU:进程占用CPU的百分比
CPU:运行进程的CPU
Command:当前进程对应的命令
(2)查看全部进程的CPU使用状况
pidstat -r
Linux性能优化(三)——sysstat性能监控工具
PID:进程标识符
minflt/s:任务每秒发生的次要错误,不须要从磁盘中加载页
majflt/s:任务每秒发生的主要错误,须要从磁盘中加载页
VSZ:虚拟地址大小,虚拟内存的使用KB
RSS:常驻集合大小,非交换区五里内存使用KB
Command:task命令名
(3)查看全部进程的IO使用状况
pidstat -d
Linux性能优化(三)——sysstat性能监控工具
PID:进程id
kB_rd/s:每秒从磁盘读取的KB
kB_wr/s:每秒写入磁盘KB
kB_ccwr/s:任务取消的写入磁盘的KB。当任务截断脏的pagecache的时候会发生。
COMMAND:task的命令名
(4)查看全部进程的上下文切换状况
pidstat -w
Linux性能优化(三)——sysstat性能监控工具
PID:进程id
Cswch/s:每秒主动任务上下文切换数量
Nvcswch/s:每秒被动任务上下文切换数量
Command:命令名
(5)查看进程的线程统计信息
pidstat -t
Linux性能优化(三)——sysstat性能监控工具
TGID:主线程的标识
TID:线程id
%usr:进程在用户空间占用CPU的百分比
%system:进程在内核空间占用CPU的百分比
%guest:进程在虚拟机占用CPU的百分比
%CPU:进程占用CPU的百分比
CPU:运行进程的CPU
Command:当前进程对应的命令
pidstat -T ALL -p 13671
Linux性能优化(三)——sysstat性能监控工具
PID:进程id
msr-ms:任务和子线程在用户级别使用的毫秒数。
system-ms:任务和子线程在系统级别使用的毫秒数。
guest-ms:任务和子线程在虚拟机(running a virtual processor)使用的毫秒数。
Command:命令名

5、iostat

一、iostat简介

iostat是IO statistics(输入/输出统计)缩写,系统级别的IO监控,用于对系统磁盘操做活动进行监视,特色是汇报磁盘活动统计情以及CPU使用状况,缺点是不能对某个进程进行深刻分析,只能对系统总体状况进行分析。

二、iostat命令

iostat [ options ] [ <interval> [ <count> ] ]
-c:仅显示显示CPU使用状况;
-d:仅显示显示设备利用率;
-k:显示状态以千字节每秒为单位,而不使用块每秒;
-m:显示状态以兆字节每秒为单位;
-p:显示块设备和全部被使用的其余分区的状态;
-t:显示每一个报告产生时的时间;
-V:显示版号并退出;
-x:显示扩展状态。

三、iostat指标展现

Linux性能优化(三)——sysstat性能监控工具
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。
%steal:管理程序维护另外一个虚拟处理器时,虚拟CPU的无心识等待时间百分比。
%idle:CPU空闲时间百分比。
tps:设备每秒的传输次数。
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read:读取的总数据量;
kB_wrtn:写入的总数量数据量;
iostat -d -x -k 1 2
每隔1秒输出磁盘IO的详细状况,总共采样2次。
Linux性能优化(三)——sysstat性能监控工具
rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
wrqm/s: 每秒对该设备的写请求被合并次数
r/s: 每秒完成的读次数
w/s: 每秒完成的写次数
rkB/s: 每秒读数据量(kB为单位)
wkB/s: 每秒写数据量(kB为单位)
avgrq-sz:平均每次IO操做的数据量(扇区数为单位)
avgqu-sz: 平均等待处理的IO请求队列长度
await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
svctm: 平均每次IO请求的处理时间(毫秒为单位)
%util: 采用周期内用于IO操做的时间比率,即IO队列非空的时间比率
Linux性能优化(三)——sysstat性能监控工具

6、vmstat

一、vmstat简介

vmstat(Virtual Meomory Statistics)是Linux中监控内存的经常使用工具,可对操做系统的虚拟内存、进程、CPU等的总体状况进行监视。

二、vmstat命令

vmstat [options] [delay [count]]
-a:显示活跃和非活跃内存
-f:显示从系统启动至今的fork数量。
-m:显示slabinfo
-n:只在开始时显示一次各字段名称。
-s:显示内存相关统计信息及多种系统活动数量。
delay:刷新时间间隔。若是不指定,只显示一条结果。
count:刷新次数。若是不指定刷新次数,但指定刷新间隔,会一直刷新。
-d:显示磁盘相关统计信息。
-p:显示指定磁盘分区统计信息。
-S:指定单位显示,k、K、m、M分别表明1000、102四、1000000、1048576字节,默认单位为K。
-V:显示vmstat版本信息。
vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]

vmstat [options] [delay [count]]
delay:数据采样间隔。若是不指定,返回开启启动以来的均值。
count:刷新数据次数。若是指定delay,但不指定connt,默认一直刷新。
vmstat interval times
每隔interval秒采样一次,共采样times次。

三、vmstat经常使用命令

Linux性能优化(三)——sysstat性能监控工具procs:r列显示等待CPU的进程数量,b列显示正在不可中断休眠(等待IO)的进程数量。memory:swapd列显示被换出磁盘(页面交换)的块的数量,free列显示空闲的(未被使用)块的数量,buff显示正在被用做缓冲区的数量,cache列显示正在被用做操做系统的缓存的数量。swap:显示交换活动:每秒有多少块正在被换入(从磁盘)和换出(到磁盘)。io:显示多少块从块设备读取(bi)和写出(bo),一般反映了硬盘IO。system显示每秒中断(in)和上下文切换(cs)的数量。cpu显示全部的cpu时间花费在各种操做的百分比,包括执行用户代码(非内核),执行系统代码(内核),空闲以及等待IO。

与[转帖]Linux性能优化(三)——sysstat性能监控工具相似的内容:

[转帖]Linux性能优化(三)——sysstat性能监控工具

http://www.javashuo.com/article/p-dzujtrcz-oa.html 1、sysstat简介 一、sysstat简介 sysstat提供了Linux性能监控工具集,包括sar、sadf、mpstat、iostat、pidstat等,用于监控Linux系统性能和使用状况

[转帖]Linux性能优化(三)——sysstat性能监控工具

原文 https://blog.51cto.com/9291927/2593644 1、sysstat简介 一、sysstat简介 sysstat提供了Linux性能监控工具集,包括sar、sadf、mpstat、iostat、pidstat等,用于监控Linux系统性能和使用状况。iostat -

[转帖]《Linux性能优化实战》笔记(三)—— CPU 上下文切换(下)

上篇介绍了三种CPU 上下文切换以及它们可能造成的问题和原因,这一篇来看看在系统中如何发现CPU 上下文切换问题。 一、 查看上下文切换情况 主要使用两个命令:vmstat以及之前用过的pidstat。 1. vmstat # 每隔5秒输出1组数据vmstat 5 procs memory swap

[转帖]Linux性能优化(五)——性能监控工具

原文 https://blog.51cto.com/9291927/2594065 1、性能分析工具简介 Brendan Gregg是算机性能设计、分析和调优专家,编写开源大量性能测试工具。http://www.brendangregg.comnode 一、性能分析工具 二、性能观测工具 三、性能测

[转帖]linux 调优篇 :硬件调优(BIOS配置)* 壹

https://blog.csdn.net/tony_vip?type=blog 一. 设置内存刷新频率为Auto二. 开启NUMA三. 设置Stream Write Mode四. 开启CPU预取配置五. 开启SRIOV六. 开启SMMU 通过在BIOS中设置一些高级选项,可以有效提升虚拟化平台性能

【转帖】linux 调优篇 :硬件调优(BIOS配置)* 壹

一. 设置内存刷新频率为Auto二. 开启NUMA三. 设置Stream Write Mode四. 开启CPU预取配置五. 开启SRIOV六. 开启SMMU 通过在BIOS中设置一些高级选项,可以有效提升虚拟化平台性能。表1列出了TaiShan服务器和性能相关的BIOS推荐配置项。 表1 BIOS性

[转帖]linux性能优化笔记之CPU篇

http://blog.trumandu.top/2019/03/02/linux%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E7%AC%94%E8%AE%B0%E4%B9%8BCPU%E7%AF%87/ cpu优化用到的命令 mpstat进程相关统计工具,cpu/io

[转帖]Linux性能优化(四)——BCC性能监控工具

一、BCC简介 1、BCC简介 BCC是一个Python库,简化了eBPF应用的开发过程,并收集了大量性能分析相关的eBPF应用。BCC为BPF开发提供了不同的前端支持,包括Python和Lua,实现了map创建、代码编译、解析、注入等操作,使开发人员只需聚焦于用C语言开发要注入的内核代码。 BCC

[转帖]Linux性能优化(四)——BCC性能监控工具

http://www.javashuo.com/article/p-cxglhftg-nz.html 时间 2021-01-17 标签 前端 python linux ios git github 正则表达式 编程 api 缓存 栏目 Linux 繁體版 原文 https://blog.51cto.

[转帖]Linux性能优化实战 —— CPU

https://www.jianshu.com/p/2b6658ad59b3 Linux性能分析概要 1. 性能指标 linux性能指标.png 随着应用负载的增加,系统资源的使用也会升高,甚至达到极限。而性能问题的本质,就是系统资源已经达到瓶颈,但请求的处理却还不够快,无法支撑更多的请求。性能分析