uptime
|
|
15:24:23 //系统当前时间
up 84 days, 17 min //主机已运行时间,时间越大,说明你的机器越稳定
6 users //用户连接数,是总连接数而不是用户数
load average //在过去1分钟、5分钟、15分钟内系统的load值
top
|
|
第一行同uptime
第二行任务(进程) 系统现在共有135个进程,1个运行,134个休眠,停止0个,僵尸有0个
第三行
us,用户时间(User Time)表示CPU执行用户进程所占用的时间,通常情况下希望us的占比越高越好
sy,系统时间(System Time)表示CPU自内核态所花费的时间,sy占比比较高通常意味着系统在某些方面设计得不合理,比如频繁的系统调用导致的用户态和内核态的频繁切换
ni,Nice时间(Nice Time)表示系统在调整进程优先级的时候所花费的时间
id,空闲时间(Idle Time)表示系统处于空闲期,等待进程运行,这个过程所占用的时间。当然,我们希望id的占比越低越好
wa,等待时间(Waiting Time)表示CPU在等待I/O操作所花费的时间,系统不应该花费大量的时间来进行等待,否则便表示可能有某个地方设计不合理
hi,硬件中断处理时间(Hard Irq Time)表示系统处理硬件中断所占用的时间
si,软件中断处理时间(Soft Irq Time)表示系统处理软件中断所占用的时间
st,丢失时间(Steal Time)表示被强制等待虚拟CPU的时间
第四行 内存状态 ,与win概念不一样,linux有一定特殊性,其中有一个思想便是内存利用率最大化,内核会将剩余的内存申请为cached,而cached不属于free范畴。因此,当系统运行时间较长时,会发现cached这块区域比较大,对于有频繁文件读/写操作的系统,这种现象更为明显。
第五行 swap交换分区,对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
第六行
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
df -h
磁盘剩余空间也是一个非常关键的指标,如果磁盘没有足够的剩余空间,正常的日志写入以及系统I/O都将无法进行。
iostat -d -k
|
|
磁盘I/O的繁忙程度也是一个重要的系统指标
-d表示查看磁盘使用状况,-k表示以KB为单位 显示Device表示设备名称、tps表示每秒处理的I/O请求数、kB_read/s表示每秒从设备读取的数据量、kB_wrtn/s表示美标向设备写入的数据量、kB_read表示读取的数据总量、kB_wrtn表示写入的数据总量。(瞬时)
free -m
|
|
程序运行时的数据加载、线程并发、I/O缓冲等,都依赖于内存,可用内存的大小决定了程序是否能正常运行以及运行的性能
vmstat
|
|
si表示每秒从磁盘交换到内存的数据量,单位是KB/s,so表示每秒从内存交换到磁盘的数据量,单位也是KB/s (瞬时)