Linux的TOP系统实时监控命令是非常有用的。可以观察到很多信息。
第一行:top - 14:53:46 up 12 days, 10:39, 2 users, load average: 0.03, 0.04, 0.06
第一行显示的内容为:现在时间 启动的天数 登录用户数 CPU使用率(load average)5分 10分 15分间隔的平均值
第二行:Tasks: 137 total, 1 running, 136 sleeping, 0 stopped, 0 zombie
第二行的显示内容为:进程信息
total:启动的总的进程数
running:执行中的进程数
sleeping:待机中的进程数
stopped:停止的进程数
zombie:zombie进程数
第三行:Cpu(s): 0.2% us, 0.2% sy, 0.0% ni, 99.7% id, 0.0% wa, 0.0% hi, 0.0% si
第三行显示的内容:CPU的使用状况
us:用户进程的使用率
sy:系统进程的使用率
ni:优先指定进程的使用率
id:系统空闲率
wa:文件IO等待的时间
hi:硬盘分配要求使用时间
si:软件分配要求使用时间
第四行:Mem: 3980516k total, 3791316k used, 189200k free, 180980k buffers
第四行显示的内容为:内存使用情况
total:内存总量
used:使用的内存量
free:未使用的内存量
buffers:缓存的内存量
第五行:Swap: 6094842k total, 533456k used, 5561386k free, 1454180k cached
第五行显示的内容为:Swap信息
total:领域总量
used:使用的领域量
free:未使用的领域量
cached:文件缓存的领域量
最好是具体进程一览:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 15 0 10348 408 376 S 0.0 0.0 0:00.78 init
PID:进程ID
USER:进程的用户
PR:优先权限
NI:任务的 nice 值。负的 nice 值是高优先。相反是优先度低。
VIRT:任务使用的虚拟内存总量。
RES : 任务使用的物理内存
SHR : 进程使用的共用内存大小
S : 进程状态
* S 睡眠状态
* T 停止中
* D 分配不可(sleep)
* N nice值为正,优先度低。
* < nice值为负数
* R 正在执行
* Z Zombie
* W SWAP OUT
%CPU: CPU使用率
%MEM : 内存使用率
TIME+ : 进程的执行时间(秒)
COMMAND : 命令名
根据这些信息大概就能看出那写进程比较耗费资源啥的。然后对服务器负担进一步分析,说不定就能找到比较好的回避方法。