第四章-11-主机状态

📅 2026/7/7 4:57:55 👁️ 阅读次数 📝 编程学习
第四章-11-主机状态

1.查看系统资源占用

可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器

默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出

2.top命令内容详解

第一行:

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:进程的命令或名称或程序文件路径

3.top命令选项

4.top交互式选项

当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制

5.磁盘信息监控

使用df命令,可以查看硬盘的使用情况

语法:df [-h]

选项:-h,以更加人性化的单位显示

可以使用iostat查看CPU、磁盘的相关信息

语法:iostat [-x] [num1] [num2]

选项:-x,显示更多信息

num1:数字,刷新间隔,num2:数字,刷新几次

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会将这个请求合并Merge, 提高IO利用率, 避免重复调用);

wrqm/s: 每秒这个设备相关的写入请求有多少被Merge了。

rsec/s: 每秒读取的扇区数;

sectors wsec/: 每秒写入的扇区数。

rKB/s: 每秒发送到设备的读取请求数

wKB/s: 每秒发送到设备的写入请求数

avgrq-sz 平均请求扇区的大小

avgqu-sz 平均请求队列的长度。毫无疑问,队列长度越短越好。

await: 每一个IO请求的处理的平均时间(单位是微秒毫秒)。

svctm 表示平均每次设备I/O操作的服务时间(以毫秒为单位)

%util: 磁盘利用率

6.网络状态监控

可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)

语法:sar -n DEV num1 num2

选项:-n,查看网络,DEV表示查看网络接口

num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)

如图,查看2次,隔3秒刷新一次,并最终汇总平均记录

信息解读:

IFACE 本地网卡接口的名称

rxpck/s 每秒钟接受的数据包

txpck/s 每秒钟发送的数据包

rxKB/S 每秒钟接受的数据包大小,单位为KB

txKB/S 每秒钟发送的数据包大小,单位为KB

rxcmp/s 每秒钟接受的压缩数据包

txcmp/s 每秒钟发送的压缩包

rxmcst/s 每秒钟接收的多播数据包