linux top命令和sar命令
top和sysstat都是是运维中常用的工具,用这篇博客记录一下其中各个值的含义。
Top
输入命令top进入,按下q退出
第一行:top - 23:47:31 up 1:14, 1 user, load average: 52.15, 39.35, 24.89
23:47:31 当前时间
up 1:14 启动了1小时14分钟
1 user 1个用户在线
load average: 52.15, 39.35, 24.89 1,5,15分钟的load情况
第二行:Tasks: 283 total, 47running, 171 sleeping, 0 stopped, 2 zombie
Tasks: 283 total 283个任务
47 running 47个正在运行的进程
171 sleeping 171个睡眠的进程
0 stopped 0个停止的
2 zombie 2个僵尸进程
第三行:%Cpu(s): 88.2 us, 11.2 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.6 si, 0.0 st
%Cpu(s): CPU性能
88.2 us 88.2%的未nice过的用户空间线程执行时间
11.2 sy 11.2%的内核空间执行时间
0.0 ni 0.0%的用户进程空间内被nice过的进程的执行时间
0.0 id 0.0%的CPU 空闲时间
0.0 wa 0.0%的等待IO时间
0.0 hi 0.0%的hardware interruption时间
0.6 si 0.0%的software interruption时间
0.0 st 0.0%的cpu cycle被虚拟化偷走的比例(如果虚拟机负载大那么这个值会高)
第四、五行:KiB Mem : 2017504 total, 159376 free, 1329888 used, 528240 buff/cache
KiB Swap: 998396 total, 986108 free, 12288 used. 428172 avail Mem
2017504 total 物理内存总量
159376 free 空闲的内存总量
1329888 used 使用中的内存总量
528240 buff/cache 缓存和缓冲的总量
998396 total 交换区总量
986108 free 空闲的交换区总量
12288 used 使用的交换区总量
428172 avail Mem 不使用交换区而在打开新应用时可用的内存
第六行:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID 进程号
USER 用户名
PR 优先级
NI nice值
VIRT 进程使用的虚拟内存总量
RES 进程使用的、未被换出的物理内存大小
SHR 共享内存大小
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU 总体CPU百分比
%MEM RES占总MEM的百分比
TIME+ 自启动到现在占用的CPU时间
COMMAND 进程名称(命令名/命令行)
Sar
CPU all 表示统计信息为所有 CPU 的平均值。
%user 显示在用户级别(application)运行使用CPU 总时间的百分比。
%nice 显示在用户级别,用于nice操作,所占用CPU 总时间的百分比。
%system 在核心级别(kernel)运行所使用CPU 总时间的百分比。
%iowait 显示用于等待I/O操作占用CPU 总时间的百分比。
%steal 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle 显示 CPU 空闲时间占用CPU 总时间的百分比(同top命令第三行id)
若 %iowait 的值过高,表示硬盘存在I/O瓶颈 若 %idle 的值高但系统响应慢时,有可能是CPU 等待分配内存,此时应加大内存容量 若 %idle 的值持续低于10,则系统的CPU 处理能力相对较低,表明系统中最需要解决的资源是CPU。
参考:
linux – 顶部的“buff / cache”和“avail mem”字段是什么意思?