Linux系统中vmstat简介
vmstat(Virtual Memory Statistics)是Linux系统中一个非常实用的性能监控工具,它可以实时显示系统的虚拟内存、进程、CPU活动等信息,通过使用vmstat,我们可以了解到系统的运行状况,从而对系统进行优化和调整。
如何使用vmstat
1、查看虚拟内存统计信息
在Linux系统中,可以使用以下命令查看虚拟内存的统计信息:
vmstat 1
输出的信息包括:
进程数(procs):当前系统中运行的进程数。
空闲内存(free):系统未使用的物理内存量。
缓存内存(cached):用于缓存文件系统的内存量。
缓冲区内存(buffers):用于文件系统缓存的内存量。
共享内存(shm):用于进程间通信的内存量。
映射内存(mapped):正在映射到用户空间的内存量。
堆内存(seg):用于存储程序运行时数据的内存量。
非堆内存(nonseg):用于存储其他临时数据的内存量。
交换分区(swpd):用于交换的内存总量。
第一大页(swap_total):已分配给交换设备的总内存量。
第二大页(swap_free):尚未分配给交换设备的内存量。
第三大页(dirty):已写入磁盘但尚未刷新到内存的交换页面数量。
第四大页(clean):尚未写入磁盘的交换页面数量。
第五大页(shared):多个进程共享的交换页面数量。
第六大页(private):单个进程专用的交换页面数量。
2、查看CPU活动信息
要查看CPU的活动信息,可以使用以下命令:
vmstat 1 5
输出的信息包括:
%usr:用户空间占用CPU百分比。
%nice:低优先级进程占用CPU百分比。
%sys:内核空间占用CPU百分比。
%iowait:等待I/O完成的CPU时间百分比。
%steal:虚拟化环境中被偷走的CPU时间百分比。
%idle:空闲CPU时间百分比。
avecpu:过去1秒内,平均CPU占用率。
time:自系统启动以来所花费的时间。
uptime:系统已运行的时间。
processes:自系统启动以来创建的进程数。
procs_running:当前运行的进程数。
procs_blocked:因等待I/O操作而被阻塞的进程数。
loadavg:过去1分钟、5分钟、15分钟内的系统平均负载值。
3、查看进程信息
要查看进程信息,可以使用以下命令:
ps aux --sort=-%cpu | head -n 10
输出的信息包括:
USER:进程所属的用户。
PR:进程的优先级。
NI:进程的nice值,用于调整进程的优先级。
VIRT:进程占用的虚拟内存总量。
RES:进程占用的物理内存总量。
SHR:进程占用的共享内存总量。
S:进程的状态,如R(运行中)、S(睡眠中)、Z(僵尸状态)等。
%CPU:进程占用的CPU百分比。
%MEM:进程占用的物理内存百分比。
TIME+:进程占用的总时间,单位为秒。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/215546.html