Linux监控之系统性能
Linux监控之系统性能
1.内存、交换分区篇
命令:free 显示内存及交换分区使用情况
选项:
-b 显示单位:字节
-k 显示单位:K字节
-m 显示单位:M字节
[root@localhost ~]#free
total used free shared buffers cached
Mem: 503156 491524 11632 0 17960 337760
-/+ buffers/cache: 135804 367352
Swap: 524280 60 524220
细节说明:
在Linux中内存不像Windows那样直接被进程访问,Linux中内存会被先划分为buffer和cache,然后再被程序访问使用。
以上输出Mem行中:
totoal : 503156表示本机所有内存总和
used : 491524表示被划分为buffer和cache的总和,即可以被程序使用的总容量
free : 11632 表示本机内存总和减去被划分的buffer和cache总和的值,即503156-491524=11632
buffers: 内存中剩余的buffer容量(17960)
cached : 内存中剩余的cache容量(337760)
以上输出-/+buffers/cache行中:
used : 内存实际使用情况(buffer和cache被使用的容量总和)135804=491524-17960-337760
free :内存实际剩余情况(内存未被划分为buffer和cache的容量加buffer和cache剩余容量)
367352=11632+17960+337760
Swap行中:
524280:表示交换分区总和
60 :交换分区使用量
524220:交换分区剩余量
交换分区功能说明:交换分区将硬盘中的一部分空间拿出来当内存使用,但并不是直接就从硬盘中提取计算机指令执行。
首先电脑开启一个程序时,先从硬盘中把程序调入内存中,由CPU从内存中执行计算机指令,但当一个
程序很大时,并不是所有程序指令都需要调入内存,那些暂时并不需要的指令可以先部分的存在硬盘中,
即使硬件调入内存中的指令也不需要适中在内存中存放,那些近期都不会执行到的指令也可以临时存入
硬盘及缓存中!
内存使用说明:
内存页:为了更方便的管理内存,系统会把内存划分成一块一块的区域,这个区域又被称为页,Linux内存页一般为4096字节
活动内存(active memory):活动指正在被使用的数据或最近使用的数据存放的内存区域
非活动内存(inactive memory):一个程序执行结束后,经过一段时间后可能还会再次被调用,系统可以把所需数据放入非活 动内存中,而不是放入硬盘,这样下次再次执行程序时可以很快地调用所需数据
命令:vmstat 查看内存、进程、页等信息
选项:
-a 是否显示活动内存与非活动内存信息
-f
[root@localhost ~]cat /proc/meminfo 该命令的具体含义可以自行探索,在此不再赘述
2.硬盘信息
命令:iostat 显示CPU状态以及设备与分区的IO(输入与输出)状态,运行该命令需要安装sysstat软件包
语法:
iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -n ] [ -h ] [
device [ ... ] | ALL ] [ -p [ device | ALL ] ] [ interval [ count ] ]
选项:
-c 仅显示CPU状态,不与-d同用
-d 仅显示设备分区状态,不与-c同用
-k 显示单位为K字节
-m 显示单位为M字节
-n 显示NFS共享分区信息,仅对2.6.17以上内核可用,不与-x同用
-h 人性化显示NFS共享信息
-p [{ device | ALL }] 仅显示某块设备状态还是显示所有(iostat -p sda | iostat -p ALL)
-t 显示报告的时间
-x 显示扩展信息
-V 显示该软件版本号
interval 为统计状态间隔时间
count 为统计次数(iostat 5 5 每个5秒统计一次,总共统计5次)
实例:
iostat -c
iostat -d
iostat -x
iostat -d 5 5
输出信息说明:
CPU统计信息格式:
%user CPU执行用户态程序的时间百分比(注:CPU执行指令分为两种模式:用户模式,内核模式)
%nice CPU执行被设置了nice优先级的用户态程序的时间百分比
%system CPU执行系统态(内核态)进程的百分比
%iowait CPU空闲下来等待请求IO设备完成的时间百分比
%steal Hypervisor分配给运行在其它虚拟机上的任务的实际CPU时间
%idle CPU空闲且没有IO请求的时间百分比
CPU统计信息格式:
Device 设备或分区名称
tps 每秒数据传输次数,一次传输可以看成是一次IO请求,单次传输大小不定
Blk_read/s 每秒读取的数据块(单位block),单个block大小在格式化时定义
Blk_wrtn/s 每秒写入的数据块(单位block),单个block大小在格式化时定义
Blk_read 开机后读取数据块总和
Blk_wrtn 开机后读取数据块总和
kB_read/s 每秒读取的数据(单位K字节)
kB_wrtn/s 每秒写入的数据(单位K字节)
kB_read 开机后读取的数据总和(单位K字节)
kB_wrtn 开机后写入的数据总和(单位K字节)
MB_read/s 每秒读取的数据(单位M字节)
MB_wrtn/s 每秒写入的数据(单位M字节)
MB_read 开机后读取的数据总和(单位M字节)
MB_wrtn 开机后写入的数据总和(单位M字节)
rrqm/s 每秒读请求合并的数量(备注:为了更高效的使用IO设置,对硬盘的读或写操作的请求可以被合并,如两个4K的读 请求可以合并为一个8K的读请求。)
wrqm/s 每秒写请求合并的数量
r/s 每秒读请求的数量
w/s 每秒写请求的数量
rsec/s 每秒从硬盘中读取多少个扇区中的数据
wsec/s 每秒往硬盘的多少个扇区中写入数据
rkB/s 每秒从硬盘中读取多少个K字节的数量
wkB/s 每秒往硬盘中写入多少个K字节的数量
rMB/s 每秒从硬盘中读取多少个M字节的数量
wMB/s 每秒往硬盘中写入多少个M字节的数量
avgrq-sz IO请求的读写的平均大小(扇区)
avgqu-sz IO请求队列的平均长度
await IO请求的平均等待时间(毫秒)
svctm 单个IO请求的平均服务时间(完成单个IO的平均时间)
%util CPU完成IO请求的时间比
rops/s 挂载点每秒读操作的数量
wops/s 挂载点每秒写操作的数量
实例:
#dd if=/dev/zero of=/tmp/test bs=100M count=1 注:写入一个100M的文件
#iostat -x 1 3 >> /tmp/out 注:每隔1秒监控一次,共监控10次,将结果导出至文件
#Linux 2.6.18-164.el5 (localhost.localdomain) 01/15/2012
#avg-cpu: %user %nice %system %iowait %steal %idle
# 1.38 0.65 2.79 8.08 0.00 87.11
#Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
#sda 5.02 34.19 12.65 3.68 463.99 302.96 46.96 0.29 17.46 4.86 7.94
#sda1 0.21 0.00 0.07 0.00 0.56 0.01 8.11 0.00 7.37 4.91 0.03
#sda2 4.80 34.18 12.58 3.68 463.36 302.95 47.14 0.28 17.51 4.87 7.92
#dm-0 0.00 0.00 17.30 37.87 463.07 302.92 13.89 1.38 25.08 1.43 7.91
#dm-1 0.00 0.00 0.03 0.00 0.22 0.03 8.00 0.00 16.36 3.75 0.01
#hdc 2.75 0.00 0.23 0.00 11.95 0.00 51.24 0.00 3.32 2.85 0.07
#avg-cpu: %user %nice %system %iowait %steal %idle
# 5.56 0.00 94.44 0.00 0.00 0.00
#Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
#sda 0.00 28444.44 33.33 322.22 1422.22 214222.22 606.50 2.12 5.53 1.77 62.78
#sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
#sda2 0.00 28444.44 33.33 322.22 1422.22 214222.22 606.50 2.12 5.53 1.77 62.78
#dm-0 0.00 0.00 33.33 28783.33 1422.22 230266.67 8.04 124.93 3.93 0.02 59.44
#dm-1 0.00 0.00 0.00 5.56 0.00 44.44 8.00 0.04 7.00 7.00 3.89
#hdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
#avg-cpu: %user %nice %system %iowait %steal %idle
# 0.00 0.00 100.00 0.00 0.00 0.00
#Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
#sda 0.00 27936.36 0.00 363.64 0.00 252436.36 694.20 1.75 5.47 1.40 50.91
#sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
#sda2 0.00 27936.36 0.00 363.64 0.00 252436.36 694.20 1.75 5.47 1.40 50.91
#dm-0 0.00 0.00 0.00 28263.64 0.00 226109.09 8.00 147.69 5.90 0.02 50.91
#dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
#hdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
说明:
第一次输出(对sda而言):
每秒合并了5.02个读请求,每秒合并了34.19个写操作
每秒有12.65个读请求,每秒有3.68个写请求
每秒读取了463.99个扇区的数据(一个扇区512字节),每秒写入了302.96个扇区的数据
每秒平均有46.96个读请求,平均队列长度为0.29
IO请求的平均等待时间17.46ms
本文出自 “丁丁历险” 博客,请务必保留此出处http://manual.blog.51cto.com/3300438/785340
转载于:https://blog.51cto.com/dbddbd/1963838
Linux监控之系统性能相关推荐
- 19.1 Linux监控平台介绍;19.2 zabbix监控介绍;19.3,19.4 安装zabbi
19.1 Linux监控平台介绍 常见开源监控软件: 1. cacti.nagios.zabbix.smokeping.open-falcon等等 2. cacti.smokeping偏向于基础监控, ...
- 实例代码分享Python实现Linux监控
本文通过实例代码给大家介绍了Python实现Linux监控的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下. 工作原理:基于/proc 文件系统 Linux 系统为管理员提供了非常好的方 ...
- linux监控平台介绍、zabbix监控介绍、安装zabbix
linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon 等等. nagios和zabbix流行度很高. cacti.smokepi ...
- Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做
Linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon等等. cacti.smokeping偏向于基础监控,成图漂亮. cacti ...
- Linux监控平台 zabbix介绍和安装
2019独角兽企业重金招聘Python工程师标准>>> 12月24日任务 19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabb ...
- Linux监控 Nagios
Linux监控 Nagios 1 什么是监控? 监视控制 2 监控谁? 各种服务器 3 监控什么? 网络流量(eth0,eth1) 服务的状态(运行,停止) 硬件资源 cp ...
- Linux监控平台搭建( zabbix监控)
2019独角兽企业重金招聘Python工程师标准>>> Linux监控平台搭建( zabbix监控) 一.Linux监控平台介绍 1.监控存在的原因 站点出了问题,没有人知道,等用户 ...
- linux 监控网络IO、磁盘、CPU、内存
linux 监控网络IO.磁盘.CPU.内存 CPU:vmstat ,sar –u,top 磁盘IO:iostat –xd,sar –d,top 网络IO:iftop -n,ifstat,dstat ...
- linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案
Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件. 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 #!/bi ...
- linux杀掉进程后总是重启,Linux监控进程,进程关闭自动重启方案
Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件. 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 #!/bi ...
最新文章
- Linux crontab 命令格式
- oracle 闩机制,Oracle latch闩原理示意图
- 【Android View事件分发机制】关于拦截事件的注意点
- HashMap的put和get操作
- Charles 4.2.1 HTTPS抓包
- linux 脚本 apache进程,Apache环境下进程检查脚本
- QT信号和槽函数学习笔记
- qemu+linux+x86+64,qemu以64位跟32位的方式跑busybox
- 华为P30真机屏幕盖板曝光:超窄边框水滴屏
- HTML5新增相关标签的和属性
- 《机器学习实战》学习总结(五)K-means算法原理
- RQNOJ PID2 / 开心的金明
- 【linux】——FTP出现500 OOPS: cannot change directory的解决方法
- NSURLRequest 使用(网络文摘)
- ios上传图片遇见了一个TimeoutError(DOM Exception 23)异常
- 小型网站项目完整部署流程(Windows操作系统)
- Qt入门教程100篇(已完结)
- win10系统进行电脑分盘
- java 打印心_在Java中打印输出心形图案!
- 练习题12-外观数列
热门文章
- Atitit 财政学概论 attilax学习笔记
- Atitti 跨语言异常的转换抛出 java js
- atitit.软件设计模式大的总结attialx总结
- IE下调试CSS与JS
- 六种数据格式CSV、 Pickle、MessagePack、HDF5、Feather、 Parquet的比较
- 投资62笔!私募巨头凯雷的“中国生意经”
- Julia: save 与 @save
- 掌门教育微服务体系 Solar
- 【回归预测】基于matlab麻雀算法优化LSSVM回归预测【含Matlab源码 1128期】
- 【光学】基于matlab像面数字全息离轴干涉模拟【含Matlab源码 215期】