搬砖工具-性能分析篇
1. top
▎样例
▎说明
第一行表示任务队列信息
16:34:12 表示当前时间
up 1 day, 23:03 表示系统运行时间
3 users 表示登陆用户数
load average:0.18, 0.10, 0.06 系统负载,1、5、15分钟平均值
第二行为进程信息统计数据
任务: 211 total 表示进程总数
1 running 正在运行的进程数
165 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
第三行CPU信息统计数据
%Cpu(s) :
2.5 us 用户空间占用CPU百分比
0.8 sy 内核(系统)空间占用CPU百分比
0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比
96.5 id 空闲CPU百分比
0.0 wa 等待输入输出的CPU时间百分比
0.0 hi 硬件CPU中断占用百分比
0.2 si 软中断占用百分比
0.0 st 虚拟机(虚拟化技术)占用百分比
第四行内存信息统计数据:
KiB Mem : 内存数据
1003200 total 物理内存总量
89572 free 空闲内存总量
449156 used 使用的物理内存总量
464472 buff/cache 用作内核缓存的内存量
空闲内存 = 空闲内存总量 + 内核缓存的内存量 + 缓冲的交换区总量
KiB Swap : 交换分区
2097148 total 交换区总量
1393404 free 空闲交换区总量
703744 used 使用的交换区总量
384188 avail Mem 缓冲的交换区总量(内存中的数据被移动至交换区而后又被送至内存空间,但是使用过的交换区尚未被覆盖,其空间大小即为这些数据已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再次对交换区写入)
任务监控状态:
PID 进程id
USER 进程所有者
PR 进程优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 进程名称(命令名/命令行)
2. htop
▎安装
# RHEL/CentOS yum install htop # Debian/Ubuntu apt-get install htop
▎效果
3. bashtop
▎安装
curl -fsSL https://raw.githubusercontent.com/aristocratos/bashtop/master/bashtop -o /usr/bin/bashtop chmod +x /usr/bin/bashtop
▎效果
4. vmstat
vmstat(VirtualMeomoryStatistics,虚拟内存统计) 是Linux中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU等的整体情况进行监视。
▎安装 & 使用
# 每隔interval秒采样一次,共采样times次
vmstat [interval times]
▎样例
▎说明
第一行显示了系统自启动以来的平均值,第二行开始显示现在正在发生的情况
procs:
r:显示了多少进程在等待cpu,
b:显示多少进程正在不可中断的休眠(等待IO)
memory:
swapd列显示被换出了磁盘(页面交换)
空闲(未被使用)
缓冲区使用大小
操作系统的缓存使用大小
swap:显示交换活动:每秒有多少块正在被换入(从磁盘)和换出(到磁盘)。
si:换入
so:换出
io:显示了多少块从块设备读取和写出,通常反映了硬盘I/O
bi:读取
bo:写出
system:显示每秒中断(in)和上下文切换(cs)的数量
in:中断
cs:上下文切换
cpu:显示所有的cpu时间花费在各类操作的百分比,包括执行用户代码(非内核),执行系统代码(内核),空闲以及等待IO。
内存不足的表现:free memory急剧减少,回收buffer和cacher也无济于事,大量使用交换分区(swpd),页面交换(swap)频繁,读写磁盘数量(io)增多,缺页中断(in)增多,上下文切换(cs)次数增多,等待IO的进程数(b)增多,大量CPU时间用于等待IO(wa)
5. dstat
dstat显示了cpu使用情况,磁盘io情况,网络发包情况和换页情况,输出是彩色的,可读性较强,相对于vmstat和iostat的输入更加详细且较为直观。在使用时,直接输入命令即可,当然也可以使用特定参数。
▎安装 & 使用
# 安装
sudo apt install dstat
▎样例
▎参数说明
-c cpu统计信息
-d 磁盘统计信息
-g 页面统计
-i 中断状态
-l 负载统计
-m 内存状态
-n 网络统计信息
-p 进程统计信息
-r io统计信息
-s 交换统计信息
-t 时间/日期输出
-y 系统统计信息
▎参考文章: