Linux1天1命令—1.top

用途:显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等。

top是Linux常用的性能分析工具,能实时显示系统中各个进程的资源占用状况,类似Windows任务管理器。

top是动态显示过程,可以通过按键刷新当前状态。在前台运行将独占前台,直到用户终止该程序为止。

比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。

top可以按CPU使用、内存使用和执行时间对任务进行排序。

top很多特性都可以通过交互式命令或者在个人定制文件中进行设定。


 

基本用法

top -d 5        // 每隔5秒刷新1次,默认3秒  可以直接  top

1、输出信息上半部分

- 第1行:系统当前时间;运行多久;当前几个用户登录;系统在之前1,5,15分钟平均负载
# 注:一般认为小于1,负载较小;大于1,系统超负荷

- 第2行:系统中进程总数;正在运行数;睡眠进程数;正在停止数;僵尸进程数(非0,需手工检查僵尸进程)

- 第3行:cpu状态信息
  - 用户模式占用CPU百分比
  - 系统模式占用的PU百分比
  - 改变过优先级用户进程占用百分比
  - 空闲CPU占用百分比
  - 等待输入输出进程占用百分比
  - 硬中断请求占用百分比
  - 软中断占用百分比 
  - 虚拟时间百分比(就是当有虚拟机时,虚拟cpu等待实际cpu的时间百分比)
# 注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!

- 第4行:物理内存的总量kb;已用内存存量;空闲内存总量;作为缓冲内存总量
# 注: 使用内存总量(used)是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的值。纳入内核管理的内存不见得都在用,还包括过去使用过的现在可被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中,因此在linux上free内存会越来越少,不必为此担心。

- 第5行:交换分区的总大小;已交换分区的大小;空闲交换分区的大小;作为缓存的交换分区大小
# 注: 如出于习惯去计算可用内存数,有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:68355886k+410176k+3612636k=8GB左右。

# 注: 好吧,上一段注释看不懂了吧,抄的,那是centos6的界面。centos7是上图的样子,所以free + buff/cache

# 注: 对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

 
2、输出信息下半部分

# 下边部分类似ps的信息,默认按cpu占比排序
- PID     进程id
- USER    进程所有者
- PR      进程优先级    
- NI      进程优先级(nice值)。负值表示高优先级
- VIRT    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
- RES     进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
- SHR     共享内存大小,单位kb
- S       进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
- %CPU    上次更新到现在的CPU时间占用百分比
- %MEM    进程使用的物理内存百分比
- TIME+   进程使用的CPU时间总计,单位1/100秒
- COMMAND 进程名称(命令名/命令行)

- 使用技巧
| 多U多核CPU监控——按数字1,可监控每个逻辑CPU状态
| 高亮显示当前运行进程——按b(打开/关闭加亮),按y键也可以
| 默认cpu占用率排序——x打开/关闭排序加亮
| q退出

- shift的使用
| shift m 改为按内存排序;
| shift p 改为按cpu排序;
| shift n 是pid排序
| shift < 向前 
| shift > 向后
| shift ?或h帮助
| shift z 彩色显示

 

常用参数

top -c        // 显示完整命令
top -b        // 以批处理模式显示程序信息
top -S        // 以累积模式显示程序信息
top -n 2      // 更新两次后终止
top -d 3      // 设置每3秒更新一次
top -p 555    // 显示指定的进程信息

 

top交互命令

# 在top执行过程中可以使用单字母交互命令。如果在命令行中使用了s选项,其中一些命令可能会被屏蔽。

- h 显示帮助画面,给出一些简短的命令总结说明
- k 终止一个进程。
- i 忽略闲置和僵死进程。这是一个开关式命令。
- q 退出程序
- r 重新安排一个进程的优先级别
- S 切换到累计模式
- s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s
- f或者F 从当前显示中添加或者删除项目
- o或者O 改变显示项目的顺序
- l 切换显示平均负载和启动时间信息
- m 切换显示内存信息
- t 切换显示进程和CPU状态信息
- c 切换显示命令名称和完整命令行
- M 根据驻留内存大小进行排序
- P 根据CPU使用百分比大小进行排序
- T 根据时间/累计时间进行排序
- W 将当前设置写入~/.toprc文件中
posted @   梵高de画笔  阅读(251)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示