1. 查看资源占用(top指令)
可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器。
默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出。
第一行:
top:命令名称,14:39:58:当前系统时间,up 6 min:启动了6分钟,2 users:2个用户登录,
load:1、5、15分钟负载
第二行:
Tasks:175个进程,1 running:1个进程子在运行,
174 sleeping:174个进程睡眠,0个停止进程,0个僵尸进程
第三行:
%Cpu(s):CPU使用率,us:用户CPU使用率,sy:系统CPU使用率,
ni:高优先级进程占用CPU时间百分比,id:空闲CPU率,wa:IO等待CPU占用率,
hi:CPU硬件中断率,si:CPU软件中断率,st:强制等待占用CPU率
第四、五行:
Kib Mem:物理内存,total:总量,free:空闲,used:使用,buff/cache:buff和cache占用
KibSwap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,
buff/cache:buff和cache占用
PID:进程id
USER:进程所属用户
PR:进程优先级,越小越高
NI:负值表示高优先级,正表示低优先级
VIRT:进程使用虚拟内存,单位KB
RES:进程使用物理内存,单位KB
SHR:进程使用共享内存,单位KB
S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
%CPU:进程占用CPU率
%MEM:进程占用内存率
TIME+:进程使用CPU时间总计,单位10毫秒
COMMAND:进程的命令或名称或程序文件路径
top命令也支持选项:
当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制:
2. 磁盘信息监控
2.1 df命令
使用df命令,可以查看硬盘的使用情况:
语法:df [-h]
选项:-h,以更加人性化的单位显示
2.2 iostat命令
可以使用iostat查看CPU、磁盘的相关信息:
语法:iostat [-x] [num1] [num2]
选项:-x,显示更多信息
num1:数字,刷新间隔,num2:数字,刷新几次
[root@localhost ~]$ iostat
Linux 3.10.0-957.el7.x86_64 (centos) 2023年06月12日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.42 0.00 2.05 0.02 0.00 97.52
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 5.89 159.98 9.37 349348 20455
中间两行为CPU信息。
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the
device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求" 。"一次
传输"请求的大小是未知的。
使用iostat的-x选项,可以显示更多信息:
rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据时,VFS将请
求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并,
提高IO利用率,避免重复调用)。
wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。
rsec/s:每秒读取的扇区数;sectors。
wsec/:每秒写入的扇区数。
rKB/s:每秒发送到设备的读取请求数。
wKB/s:每秒发送到设备的写入请求数。
avgrq-sz:平均请求扇区的大小。
avgqu-sz:平均请求队列的长度。毫无疑问,队列长度越短越好。
await:每一个IO请求的处理的平均时间(单位是微秒毫秒)。
svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位)。
%util:磁盘利用率。
3. 网络状态监控
可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
语法:sar -n DEV num1 num2
选项:-n,查看网络,DEV表示查看网络接口
num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)
[root@localhost ~]# sar -n DEV 3 2
查看2次,隔3秒刷新一次,并最终汇总平均记录 :
信息解读:
IFACE:本地网卡接口的名称
rxpck/s:每秒钟接受的数据包
txpck/s:每秒钟发送的数据包
rxKB/S:每秒钟接受的数据包大小,单位为KB
txKB/S:每秒钟发送的数据包大小,单位为KB
rxcmp/s:每秒钟接受的压缩数据包
txcmp/s:每秒钟发送的压缩包
rxmcst/s:每秒钟接收的多播数据包