Linux 基础教程 3陆-查看系统品质

uptime

    uptime命令功能相比不难,首要成效如下所示:

  • 翻开服务器的开机时间长度
  • 查看CPU负载

主导用法

uptime

用法示例

[root@localhost ~]# uptime
15:33:08 up 10 days,  4:40,  2 users,  load average: 1.56, 1.22, 0.92

出口内容解释如下所示:

显示内容 解释
15:33:08 系统当前时间
up 10 days, 4:40 主机已运行时间,时间越长,说明机器越稳定
2 users 用户连接数,是总连接数而不是用户数
load average: 1.56, 1.22, 0.92 系统平均负载,统计最近1、5、15分钟的系统平均负载

系统平均负载:指在某1段时间间隔内运维队列中的平均进度数。遵照实际工程经验来看,单核负载在
0.7 以下是高枕无忧的,如超过则须求进行优化了。

除了采纳uptime外,大家也能够动用以下格局来获得系统的平分负载情状。

[root@localhost ~]# cat /proc/loadavg
1.32 1.35 1.15 1/5585 28715
  • 前面二个数字分别表示近期一、伍、1陆分钟的种类平均负载
  • 二成585:分母表示系统的总进度数,分子表示正在运转的长河数
  • 287一五:近日一个起动运营进度的ID

free

    free常用来查看系统的可用内部存款和储蓄器和已利用内部存款和储蓄器等音信。

主旨用法

free [选项]

常用选项如下所示:

选项 解释
-b 以byte为单位显示内存使用情况
-k 以KB为单位显示内存使用情况
-m 以MB为单位显示内存使用情况
-g 以GB为单位显示内存使用情况
-t 额外显示内存总和
-h 以较短的数字(默认为3位数)进行显示且增加单位,方便查看
-s time 持续观察内存使用情况
-c count 常与-s一直使用,用来设置采样样本数
-l 详细显示高峰和低谷时的内存使用统计情况
采用-k/-m/-g/-h显示的值均采用向下取整的方式显示,如果需要精确查看,则建议使用-b

用法示例

一、显示主机内部存款和储蓄器使用景况

[root@localhost ~]# free -t -m
      total        used        free      shared  buff/cache   available
Mem:  128652       32106       87049     1293      9496       94266
Swap: 4095           0         4095
Total:132748       32106       91145

出口内表明如下所示:

total:可用物理内存总量
used:已经使用的内存数,包含buff/cache
free:可使用的内存数,不含buff/cache
share:多个进程共享的内存数
buff/cache:buff/cache占用量
Swap:交换分区使用量,虚拟内存
Total:物理内存总数

vmstat

    vmstat是二个Linux监察和控制工具,全名为Virtual Memory
Statistics
。可用以查看关于进度、内部存款和储蓄器、I/O、等类别完全运会行处境。

主导用法

vmstat [选项] [采样间隔] [采样样本数]

常用选项如下所示:

选项 解释
-a 显示活动/非活动的内存信息
-f 显示自系统启动以来的系统创建的总任务数
-t 增加时间戳
-m 显示slabinfo信息
-n 头部信息仅显示一次
-s 以表格形式显示内存指标及系统事件信息等
-d 显示各磁盘的统计信息
-p 显示特定分区的详细统计信息
delay 设置两次更新之间的时间间隔,如果不指定,则默认显示从开机到现在的平均值
count 指定采样的样本数,如delay指定而count不指定则一直持续监控和输出

用法示例

一、常用用法

vmstat delay count
- delay:采样时间间隔
- count:采样的样本数

图片 1

贰、查看服务器创制了稍稍个职务数

[root@localhost ~]# vmstat -f
     51221915 forks

叁、展现特定分区的总计音讯:

[root@localhost ~]# vmstat -p /dev/sdb1
sdb1          reads   read sectors  writes    requested writes
               754      35990         81      22102

结果分析

   
对于vmstat出来的总计结果,如何判断是还是不是存在难点了?不一致的服务器、操作系统、应用场景等均不1致,也无能为力提交统壹的评定尺度,供给大家依照真实情况开始展览汇总判断。以下是有的事实上利用中的经验,仅供参考:

  • 一、借使cache的值比较大,则申明系统缓存了相比多的磁盘数据,有利于磁盘I/O质量的提高,此时,bi会相对较小,因为众多读写磁盘的操作都由cache来负责了。
  • 二、si和so则代表读写SWAP的数码,这多个值如若短期大于0,则意味系统要求平时读写沟通分区,那样会消耗CPU能源和磁盘I/O质量。如能鲜明物理内部存款和储蓄器存在瓶颈,则需求展开扩大体量或搬迁了。
  • 3、如free的值相当的低,基于接近于0,也不必然正是系统内部存款和储蓄器已经耗尽,还索要组合buffer和cache的使用量,假如buffer和cache占用了过多内部存款和储蓄器能源,则象征没不符合规律,表明系统把空闲的内部存款和储蓄器都用来缓存,反而是晋升了I/O质量,当系统须要内部存款和储蓄器时,buffer和cache能够每一日被回收回来。
  • 四、假诺bi和bo值十分的大,则印证系统正在进展大气的磁盘读写操作。如若是用户正在开始展览的操作,则没十分,不然须要展开排查哪个设备或分区在拓展大批量读写操作。
  • 伍、借使us的值常常超过3/6,则表明用户进度占用的CPU时间比较多,供给对占有较多的次序进行排查和优化了。
  • 陆、假如sy值相比较高,须要排查系统是或不是存在难题。
  • 7、倘使wa值比较高,则注解CPU总是在等待I/O操作,表达磁盘已经化为瓶颈,须要排查磁盘是或不是存在难题或优化程序的读写操作
  • 八、假若r值总是超越CPU核数,则印证CPU或者成为瓶颈,可考核升迁CPU等

mpstat

    mpstat全称Multiprocessor
statistics
,也是八个监察工具,主要对象是CPU。

骨干用法

mpstat [选项] [采样间隔] [采样样本数]

常用选项如下所示:

选项 解释
-I 显示中断统计信息
-P 显示指定CPU编号的统计信息,0为第一个CPU
-u 显示CPU的使用情况
-A 等同于-u -I ALL -P ALL
与-I一起使用的参数如下所示
- SUM:显示所有CPU中断次数之和
- CPU:显示每个CPU中断次数
- ALL:将SUM和CPU的内容一起显示

与-P一起使用的参数如下所示
- ON:仅统计在线的CPU使用情况
- ALL:统计所有CPU的使用情况

CPU常用指标

    该指标1般是利用选用-u出去的总括结果,如下所示:

指标 解释
CPU CPU编号
%usr 用户进程所使用的CPU占比
%nice 对进程进行降级时的CPU占比
%sys 内核进行使用的CPU占比
%iowait 空闲态中等待I/O请求所使用的CPU占比
%irq 处理系统中断所使用的CPU占比
%soft 软件中断所使用的CPU占比
%steal 虚拟管理程序所使用的CPU占比
%guest 运行虚拟处理器所使用的CPU占比
%gnice 运行降级虚拟程序所使用的CPU占比
%idle CPU空闲态的CPU占比

用法示例

1、查看全体CPU运维情况
图片 2

二、查看钦点CPU编号的运作景况
图片 3

3、查看CPU中断状态

    因为CPU的运算速度比外部硬件要快很多。以硬盘为例,如果是简单的顺序执行,则CPU需要等待很长
时间,不停询问硬盘是否读取完成,而这样会浪费很多CPU时间。为此人们提出一种中断机制,使得读取硬
盘这样的操作交给其他设备来完成,而CPU则挂起当前进程,将控制权转让给其他来处理的进程,当其他设
备处理完成后通知CPU,系统将当前进程标识为活动进行,从而继续执行,处理硬盘的读取操作。

图片 4

top

   
top是Linux中三个常用的质量监察和控制工具并能周期性地进行翻新,我们为此也得以便捷领悟服务器的运营状态。

着力用法

top [选项]

常用的选项如下所示:

选项 解释
-b 以批处理模式进行操作
-c 显示完整的命令信息
-d 更新时间间隔
-n number 指定循环显示的次数
-u number/name 显示指定用户ID/用户名的进程
-p pid
-s 安全模式
-S 累积模式

互动形式

   
沟通械是指在top呈现相关消息时,在不影响呈现音讯的同时展开的别样操作等,详细如下所示:

快捷键 说明
f 添加或删除进程信息项
k 终止进程,需要输入PID号
r 更改进程优先级
S 切换到累积模式
s或d 更改刷新时间
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
P 根据CPU使用率大小进行排序
T 根据时间/累计时间进行排序
W 将当前设置保存到~/.toprc文件中
q 退出top进程
b 将当前进程进行高亮显示
l 是否显示系统负载信息和启动时间
1(数字1) 显示每个CPU核心单独的性能数据

用法示例

1、第三个示范:
图片 5

演示详解

  • 系统级新闻
    图片 6

  • 经过目标新闻

指标 说明 参考值
PID 进程ID
PRID 父进程ID
USER 进程所属用户,启用进程的用户名
PR Priority缩写,进程优先级
NI Nice缩写,用于调节优先级,与PR有关,越小越早被执行 -20~20 正数优先级降低,负数优先级提升
VIRT 进程虚拟内存使用量
RES 进程使用且未被交换出的物理内存使用量
SHR 共享内存使用量
S 进程状态 R:运行 S:睡眠 D:不可中断的睡眠状态 T:跟踪、停止 僵尸
%CPU CPU使用率
%MEM 内存使用率
TIME+ 进程的CPU使用时间累积和 单位为1/100秒
TIME 进程占用的CPU时间累积和 单位为秒
RUSER 进程的实际用户名,即登录到Shell所用用户名
UID 进程所属用户的ID
GROUP 进程所属的组名
TTY 启动进程的终端名称
P 进程最近一次所使用的CPU编号
SWAP 进程使用且被交换出来的虚拟内存使用量
CODE 进程对应的可执行代码所占用的物理内存量
DATA 进程对应的数据部分(数据段、栈等)所占用的物理内存量
nFLT 页面错误次数
nDRT 最后一次写入到目前为止被修改过的页面数
WCHAN 如果进程处理睡眠状态,则显示睡眠状态中系统调用名
Flags 进程标志
COMMAND 进程所对应的命令名

iostat

    iostat命令重要用来CPU的总括新闻和各样设备、硬盘的IO总计音信

着力用法

iostat [选项] [采样间隔] [采样样本数]

常用的选项如下所示:

选项 解释
-c 仅显示CPU的统计信息,即单独输出CPU的平均统计信息
-d 仅显示设备的统计信息
-h 将各设备的统计信息以易于查看的方式进行显示
-k 以kb/s显示统计信息
-m 以mb/s显示统计信息
-t 增加显示时间戳
-x 显示额外信息
-y 忽略自系统启动以来的第一行信息

用法示例

1、iostat示例
图片 7

二、查看硬盘的IO音讯
图片 8

各指标详细表达如下所示:

指标 说明
tps 每秒进程的I/O读写请求总数
MB_read/s 每秒读取的字节数,单位为MB/s
MB_wrtn/s 每秒写入的字节数,单位为MB/s
MB_read 读取的字节总数 ,单位为MB
MB_wrtn 写入的字节总数 ,单位为MB
看到第一组第一行的数字非常大,是否就可以断定I/O存在问题了? 在iostat输出的第一组第一行数据,
表示是自Linux系统启动刚才本命令执行这段期间的统计结果,而后面的几组数据才真正表示了在iostat
采样周期的统计结果,而如果要排除第一组的数据可以使用选项 -y

三、呈现额外的计算音信
图片 9

各目标详细解释如下所示:

指标 说明
rrqm/s 每秒对该设备的读取请求总次数
wrqm/s 每秒对该设备的写入请求总次数
r/s 每秒完成读取的I/O次数
w/s 每秒完成写入的I/O次数
rMB/s 每秒实际读取的大小,单位为MB
wMB/s 每秒实际写入的大小,单位为MB
avgrq-sz 平均每次I/O操作的数据大小
avgqu-sz 平均等待处理I/O操作的队列长度
await 平均每次I/O请求等待时间(含等待时间和处理时间),一般应低于5ms
r_await 每次读取I/O请求等待时间
w_await 每次写入I/O请求等待时间
svctm 平均每次I/O操作的服务时间
%util 周期内用于I/O操作的时间比率,即I/O队列非空的时间比率,即(r/s+w/s )*(svctm/1000)

急需关爱的参数如下所示:

  • %util:表示磁盘的繁忙景观,较大则表示I/O请求太多,硬盘可能存在瓶颈,1般不超过五分四
  • await大于svctm:差值越小,则印证队列时间越短,反之差值越大,则队列时间越长,系统可能存在难题
  • svctm接近await,则印证I/O大约一贯不等待时间
  • await远大于svctm,则证实I/O队列太长,则响应时间会变长

四、显示CPU总括音讯
图片 10

各目的详细表明如下所示:

指标 说明
%user 显示CPU在用户级(应用程序)执行时的时间占比
%nice 显示CPU在用户级(应用程序)使用NICE权限执行时的时间占比
%system 显示CPU在系统级(内核)执行时的时间占比
%iowait 显示CPU在空闲状态期间未完成的磁盘I/O时间占比
%steal 显示hypervisor服务另一个虚拟处理器时,虚拟CPU等待实际CPU的时间占比
%idle 显示CPU在空闲状态期间系统未完成的磁盘I/O时间占比
  • 若是steal值相比较高的话,供给扩容虚拟机,那是因为服务器上的另五个虚拟机恐怕具备更加大更多的CPU时间片而占有了你的虚拟机的CPU时间
  • 比方iowait值相比高,则也许硬盘存在I/O瓶颈
  • 一经idle值相比高,则表示CPU短时间高居空闲状态
  • 借使idle值相比较高但系统响应慢时,则有相当大或者是CPU在等候内部存款和储蓄器分配,可思虑扩大容积内部存款和储蓄器体积
  • 假如idle值假诺长期低于一成,则CPU处理能力是瓶颈

正文同步在微信订阅号上公布,如各位小伙伴们喜欢本身的篇章,也足以关怀本身的微信订阅号:woaitest,或扫描下边包车型地铁2维码添加关心:
图片 11

相关文章