- 查看系统的资源占用
可以通过top命令,查看系统CPU、内存使用情况
top命令内容详解:
第一行:top:命令名称,10.49.16:当前系统时间,up 4:40:启动了4小时40分,4 users:4个用户登录,load:1、5、15分钟负载
第二行:Tasks:进程,210 total:一共有210个进程,3 running:3个进程子在运行,207 sleeping:207个进程睡眠,0 stopped:0个停止进程,0 zombie:0个僵尸进程
第三行:%Cpu(s):CPU使用率,us:用户CPU使用率,sy:系统PU使用率,ni:高优先级进程占用PU时间百分比,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:进程使用虚拟内存,单位
- KBRES:进程使用物理内存,单位
- KBSHR:进程使用共享内存,单位KB
- S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,空闲状态)%CPU: 进程占用CPU率%MEM:进程占用内存率
- TIME+:进程使用CPU时间总计,单位10毫秒
- COMMAND:进程的命令或名称或程序的文件路径
top命令的不同选项:
-p:只显示某个进程的信息
-d:设置刷新时间
-c:显示产生进程的完整命令
左边是top命令的输出结果,右边是top -c命令的输出结果
-b:以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如 top -b -n 3 > /tmp/top.tmp
-i:不显示任何闲置(idle)或无用(zombie)的进程
-U:查找特定用户启动的进程
- 磁盘信息监控
使用df命令可以查看磁盘的使用情况,语法:
df [-h]
选项:-h,以更加人性化的单位显示
可以使用iostat查看CPU、磁盘的相关信息
语法:iostat [-x] [num1] [num2]
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: 磁盘利用率
- 网络状态监控
可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络),语法:
sar -n DEV num1 num2
- 选项:-n,查看网络,DEV表示查看网络接口
- num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)
IFACE 本地网卡接口的名称
rxpck/s 每秒钟接受的数据包
txpck/s 每秒钟发送的数据包
rxKB/S 每秒钟接受的数据包大小,单位为KB
txKB/S 每秒钟发送的数据包大小,单位为KB
rxcmp/s 每秒钟接受的压缩数据包
txcmp/s 每秒钟发送的压缩包
rxmcst/s 每秒钟接收的多播数据包