输出如下:
top - 12:47:48 up 349 days, 21:50, 2 users, load average: 3.81, 4.23, 4.34
Tasks: 112 total, 1 running, 111 sleeping, 0 stopped, 0 zombie
Cpu(s): 38.7% us, 0.6% sy, 0.0% ni, 58.9% id, 1.7% wa, 0.0% hi, 0.0% si
Mem: 4147272k total, 4117996k used, 29276k free, 459344k buffers
Swap: 1052248k total, 192k used, 1052056k free, 3174936k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2274 root 15 0 24976 18m 2436 S 62 0.4 151:00.05 python
第一行:top - 12:47:48 up 349 days, 21:50, 2 users, load average: 3.81, 4.23, 4.34
12:47:48 表示当前系统时间
349 days, 21:50 表示系统启动后到现在的运作时间
2 users 登录到用户的终端数。同一用户同一时间开多个终端认为是多个用户
load average: 3.81, 4.23, 4.34 当前系统的平均负载,后面三个值分别为1分钟前、5分钟前、15分钟前进程的平均数
一般可以认为这个数值超过CPU数目时CPU将比较吃力了!
说明:查看当前服务器CPU数量的命令:cat /proc/cpuinfo |grep processor|wc -l 我的输出:8
第二行:Tasks: 112 total, 1 running, 111 sleeping, 0 stopped, 0 zombie
Tasks: 112 total 表示当前系统进程总数
1 running 当前运行中的进程数
111 sleeping 为当前等待状态中的进程数
0 stopped 为被停止的系统进程数
0 zombie 为僵死的进程数
第三行:Cpu(s): 38.7% us, 0.6% sy, 0.0% ni, 58.9% id, 1.7% wa, 0.0% hi, 0.0% si
显示CPU的利用率。如果有多个CPU按1就可以每行显示一个CPU的信息。
第四行:Mem: 4147272k total, 4117996k used, 29276k free, 459344k buffers
显示可用内存和已利用内存
第五行:Swap: 1052248k total, 192k used, 1052056k free, 3174936k cached
注意:交换分区被频繁使用的话可以认为是物理内存不足而造成的。
第六行开始列举各个进程的相关信息
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID 进程ID
USER 谁运行这个进程
PRI 进程的优先级
NI nice值:这个值越高,任务的优先级越低
SIZE 这个进程使用的内存(代码+数据+堆栈)
RSS 这个进程占用的物理内存
SHARE 这个进程使用的共享内存
STAT 进程的状态信息。
R 正在运行
S 正在休息
Z 迟滞
T 停止
W 已换出的进程
N 正nice的值
%CPU 这个进程占用的CPU百分比
%MEM 占用的内存百分比
TIME 这个进程使用的总CPU时间
CPU 如果这是一个多处理器系统,这一列就表示其上运行进程的CPU的ID
CPU Utilization,一个很直观的概念,在任意时间内,CPU有7个状态:
1.idle,表示CPU闲置并等待工作分配.
2.user,表示CPU在运行用户的进程
3.system,表示CPU在执行kernel工作
4.nice, 表示CPU花费在被nice改变过优先级的process上的时间
(注意:被nice命令改变优先级的process仅指那些nice值为负的 process.花费在被nice命令改变优先级的任务上的时间也将被计算在系统和用户时间内,
因此整个时间加起来可能会超过百分之百)
5.iowait,表示CPU等待IO操作完成的时间
6.irq,表示CPU开销在响应硬中断上的时间
7.softirq,表示CPU开销在响应软中断上的时间.
我们一般用vmstat看到的都是四个状态:sy,us,id,wa,通过他和load avg结合,基本可以知道cpu的状态
us -> User 表示CPU在运行用户的进程
sy -> system 表示CPU在执行kernel工作
ni -> nice 表示CPU花费在被nice改变过优先级的process上的时间
id -> idle 表示CPU闲置并等待工作分配.
wa -> iowait 表示CPU等待IO操作完成的时间 %wa高,说明磁盘忙。譬如磁盘读写次数非常高。
hi -> H/w interrupt requests 硬件中断
si -> S/w interrupt requests 软件中断 %si高,是否说明软中断忙.进程之间频繁切换导致! .
- 上一篇:linux中查看shell的方法
- 下一篇:让进程在后台可靠运行的几种方法