top命令
功能:可以实时地查看系统整体运行情况;
如下图,在linux上运行top命令:
第一行是任务队列信息,具体内容如下:
10:24:50 表示当前时间
up 1:22 系统启动时间(系统运行了1小时22分钟)
1 user 当前登录系统的用户数为1
load average:0.00,0.00,0.00 表示系统平均负载,三个数值分别为1分钟、5分钟、15分钟前到现在的平均值
#第一行的内容跟uptime命令的效果一样
第二行是进程信息统计数据,具体内容如下:
Tasks ----->任务(进程)
100 total 启动进程总数为99个
1 running 1个进程正在运行
99 sleeping 98个进程正在睡眠(没有运行)
0 stopped 0个停止的进程
0 zombie 0个僵尸进程(无用进程)
第三行是CPU信息统计数据,具体内容如下:
Cpu(s):
0.0%us 用户空间占用CPU百分比
0.3%sy 内核(系统)空间占用CPU百分比
0.0%ni 用户进程空间内改变过优先级的进程占用CPU百分比
99.7%id 空闲CPU百分比
0.0%wa 等待输入输出的CPU时间百分比
0.0%hi 硬件CPU中断占用百分比
0.0%si 软件CPU中断占用百分比
0.0%st 虚拟机(虚拟化技术)CPU占用百分比
第四行和第五行是内存信息系统数据,具体内容如下:
Mem: 显示物理内存的使用情况
1002988k total 物理内存总量
225604k used 使用物理内存总量
777384k free 空闲内存总量
9336k buffers 内核缓存的内存量
Swap: 显示交换分区使用情况
2031612k total 交换分区总量
ok used 使用交换分区总量
2031612k free 空闲交换分区总量
64824k cached 缓冲交换分区总量(高速缓存:内存中的数据被移动至交换区而后又被送至内存空间,但是使用过的交换区尚未被覆盖,其空间大小即为这些数据已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再次对交换区写入)
计算系统内存空间还剩多少空间的方法:
totalfree=空闲内存free+内核缓存的内存量buffers+缓冲交换分区总量cached
=777384k+9336k+64824k
第六行是进程信息统计,具体内容如下:
列名:
PID(Process ID):进程id(标识号)
USER:进程所有者的用户名
PR:进程的优先级
NI:进程的优先级别数值,数值越小,优先级越高,负值表示高优先级,正值表示低优先级
VIRT:进程占用的虚拟内存值单位是kb
RES:进程占用的物理内存值,单位是kb
SHR:进程使用的共享内存值,单位是kb
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵尸进程,D表示不可中断的睡眠状态
%CPU:该进程占用的CPU的百分比
%MEM:该进程占用的物理内存的百分比
TIME+:该进程启动后使用CPU的时间,单位0.01秒
Command:进程启动的启动“命令名称/命令行”
top命令的常用操作:
top:每隔5秒显示所有进程的资源占用情况
top -n 10 :显示更新10此后退出
top -d 2 :每隔2秒显示所有进程的资源占用情况
top -c :每隔5秒显示所有进程的资源占用情况,并显示进程命令行参数(默认只有进程名)
top -p pid1 -p pid2 :每隔5秒显示pid是“pid1”和pid是“pid2”的两个进程资源占用情况
top -d 2 -c -p pid1 :每隔2,秒显示pid是“pid”的进程的资源使用情况,并显示该进程启动的命令参数
top -u 用户名 :输出特定用户的进程
在top基本视图中,按键盘数字“1”可以监控每个逻辑CPU的状况:
按数字“1”:
只有红色方框框起来的1个CPU,有多个会显示多个,例如CPU0,CPU1,CPU2,… …
在top运行时,按“u”快捷键,输入用户名,可以过滤出特定用户的进程:
按“u”快捷键前:
按“u”快捷键后(输入用户名root回车可以只输出用户root的进程):
在执行top命令时,使用“top -u root”可以起到相同效果