Linux性能监控-top
[root@node0 ~]# top
第一行,系统运行时长和平均负载,与uptime输出相同
top - 22:04:46 up 6:27, 2 users, load average: 0.07, 0.02, 0.00
22:04:46 系统当前时间
up 6:27 系统存活时间
2 users 系统当前的登录用户
load average: 0.07, 0.02, 0.00 系统最近1分钟,5分钟,15分钟的平均负载
第二行,任务信息汇总
Tasks: 123 total, 1 running, 122 sleeping, 0 stopped, 0 zombie
123 total,表示系统当前的进程数,任务数
1 running,正在运行的进程数
122 sleeping,休眠的进程数
0 stopped,停止运行的进程数
0 zombie 僵尸进程数
第三行,CPU信息
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
us = user mode 用户进程占用的cpu百分比。Shell脚本、数据库、app等都是用户进程
sy = system mode 系统进程占用的cpu百分比
ni = low priority user mode (nice) 调整过nice值得进程占用cpu的百分比,如果没有调整过进程的nice值,这里就是0
id = idle task CPU处于空闲状态的百分比
wa = I/O waiting CPU 等待磁盘 IO 操作的时间。
hi = servicing IRQs 硬中断占用CPU的百分比,硬中断是硬盘、网卡等硬件设备发送给 CPU 的中断消息
si = servicing soft IRQs 软中断占用CPU的百分比,软中断是由程序发出的中断
st = steal (time given to other DomU instances)
小写字母t可以控制,是否显示第二行和第三行信息
第四行,内存信息
mem: 1028592k total, 469832k used, 558760k free, 30064k buffers
free –h可以佐证
[root@node0 ~]# free -h
total used free shared buffers cached
Mem: 1.0G 460M 544M 1.2M 30M 305M
-/+ buffers/cache: 124M 879M
Swap: 1.0G 0B 1.0G
小写字母m可以控制,是否显示内存信息
第五行,swap交换分区信息
Swap: 1048572k total, 0k used, 1048572k free, 312680k cached
Swapon –s 可以佐证
[root@node0 ~]# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 1048572 0 -1
第六行及以下,交互区及任务详情
PID = Process Id 进程ID
USER = User Name 进程所有者的有效用户名
PR = Priority 进程执行的优先级
NI = Nice value nice值,正值表示低优先级,负值表示高优先级
VIRT = Virtual Image (kb) 进程使用的虚拟内存大小
RES = Resident size (kb) 进程使用的物理内存带下
SHR = Shared Mem size (kb) 进程使用的共享内存大小
S = Process Status 进程当前的状态
%CPU = CPU usage 进程使用的cpu百分比
%MEM = Memory usage (RES) 进程使用的内存百分比
TIME+ = CPU Time, hundredths 进程累计使用的cpu时间
PPID = Parent Process Pid 进程的父进程ID
COMMAND = Command name/line 进程对应的程序
交互模式
h-查看内部命令帮助
f-选择显示的列属性
按对应属性前的字母,选择该属性是否显示,大写带*的为显示
o-改变列的显示顺序,按对应属性前的字母,大写前移,小写后移
F/O-将进程按照相应的列属性进行排序显示R-反向排序
通过对应属性前的字母选择
1-显示多个CPU核心的信息
c-显示完整command命令行,同top -c
i-是否显示idle进程
u-显示特定用户的进程
M-根据驻留内存大小进行排序。
P-根据CPU使用百分比大小进行排序。
指定刷新间隔
top –d 10
top下交互命令s
过滤进程
top –p pid,pid…
-n 指定运行次数
[root@node0 ~]# top -d 3 -n2