Linux 常用命令-- top
1. top命令简介
top 命令实时显示进程的状态。默认状态显示的是cpu密集型的进程,并且每5秒钟更新一次。你可以通过PID的数字大小,age (newest first), time (cumulative time),resident memory usage(常驻内存使用)以及进程从启动后占用cpu的时间。
如果你想提高某个进程的优先级,可以通过renice命令,如果有摸个进程占用太多的cpu资源,可以通过kill命令。
2. top命令显示的每个列的含义
top 显示出现的每个列的含义分别为:
- PID: 进程描述符
- USER: 进程的拥有者
- PRI:进程的优先级
- NI: nice level
- SIZE: 进程拥有的内存(包括code segment + data segment + stack segment)
- RSS: 物理内存使用
- VIRT(virtul memory usage): 进程需要的虚拟内存大小
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量- RES(resident memory usage): 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小- SHARE: 和其他进程共享的物理内存空间
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来- STAT:进程的状态,有 S=sleeping,R=running,T=stopped or traced,D=interruptible sleep(不可中断的睡眠状态),Z=zombie。
- %CPU: CPU使用率
- %MEM: 物理内存的使用
- TIME: 进程占用的总共cpu时间
- COMMAND:进程的命令
3. top常用的命令
(1)s: 改变画面更新频率
(2)l: 关闭或开启第一部分第一行 top 信息的表示
(3)t: 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
(4)m: 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
(5)N: 以 PID 的大小的顺序排列表示进程列表
(6)P: 以 CPU 占用率大小的顺序排列进程列表
(7)M: 以内存占用率大小的顺序排列进程列表
(8)h: 显示帮助
(9)n: 设置在进程列表所显示进程的数量
(10)q: 退出 top
(11)A: 根据单窗口切换成多窗口,可以看到四个不同的窗口,可以通过a或者w来切换多个窗口。 四个窗口的名字分别为:Def,Job,Mem,Usr
(12)f:进入一个动态配置top的screen中,可以根据自己的喜好配置top
(13)o:对top的现有配置排序(order)
(14)r:使用renice命令
(15)k:使用kill命令
(16)i:使top不显示任何闲置或者僵死进程。
(17)c:显示整个命令行而不只是显示命令名。
4. top命令行使用方式
(1) 批量处理模式top -b
加上-b后,top显示的时候,将每一次显示的结果都打印出来,不会将上一次的结果给冲掉。
(2) 显示某个进程的信息top -p pid
如果是多个进程,只要如下:
$ top -p pid1,pid2,pid3
(3) 显示某个用户的进程信息top -u username
(4) 显示线程的信息,而不是进程的信息top -H
(5) 设置刷屏的时间(单位为s)top -d ntime