Open felix-cao opened 5 years ago
top 命令是 Linux 下常用的性能分析工具,类似于Windows 的任务管理器,能够实时显示系统中各个进程的资源占用状况。默认每5秒刷新一次。在 Linux 命令行中输入 top 命令,如下图
top
Linux
Windows
前五行是统计信息区,是系统整体的统计信息,第七行是进程信息区信息。本文按行分6段对上图进行解析
这一行与命令 uptime 得到的结果是相同的,分别是系统当前时间、系统已运行时间、当前登录系统的用户数量、系统负载信息。因此从第一行中我们得到如下信息:
uptime
09:01:24
9分钟
3
2.38,1.63,0.92
149
146
0
这里显示不同模式下所占CPU时间百分比,上图中
CPU
附:不同的cpu时间表示
cpu
第4行是物理内存使用情况,第5行是虚拟内存使用情况,使用命令 free 同样可以得到这些信息,上图中
free
我们通常把swap交换分区叫做虚拟内存,它的主要作用是:
若操作系统的物理内存用完了,则就会用到swap(虚拟内存)。系统就会跑得很慢,但仍能运行; 如果swap分区用完了,那么系统就会发生错误。通常会出现 Application is out of memory 的错误,严重时会造成服务进程的死锁。操作系统无法正常运行,所以我们要高度重视内存的使用
swap
Application is out of memory
第6行是空行,第7行下面的每一行是每个进程(任务)的详细状态信息
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 — 进程名称(命令名/命令行)
在top基本视图中,按键盘数字 1,可监控每个逻辑CPU的状况:逻辑上有4个,实际中只有1个,参见下图
1
敲击键盘 b(打开/关闭加亮效果),top 的视图变化如下:
b
默认进入 top 时,各进程是按照 CPU 的占用量来排序的
敲击键盘 c(打开/关闭加亮效果),top 的视图变化如下:
c
top
命令是Linux
下常用的性能分析工具,类似于Windows
的任务管理器,能够实时显示系统中各个进程的资源占用状况。默认每5秒刷新一次。在Linux
命令行中输入top
命令,如下图前五行是统计信息区,是系统整体的统计信息,第七行是进程信息区信息。本文按行分6段对上图进行解析
1、第一行是运行时间及负载信息
这一行与命令
uptime
得到的结果是相同的,分别是系统当前时间、系统已运行时间、当前登录系统的用户数量、系统负载信息。因此从第一行中我们得到如下信息:09:01:24
9分钟
3
2.38,1.63,0.92
(分别表示1分钟,5分钟,15分钟前到现在的平均值)2、第二行表示任务(进程)信息
149
个进程3
个146
个0
个,0
个3、CPU 状态信息
这里显示不同模式下所占
CPU
时间百分比,上图中CPU
的百分比。CPU
的百分比。CPU
的百分比CPU
百分比CPU
的百分比CPU
的百分比CPU
的百分比附:不同的
cpu
时间表示4、内存使用信息
第4行是物理内存使用情况,第5行是虚拟内存使用情况,使用命令
free
同样可以得到这些信息,上图中5、swap交换分区信息
我们通常把swap交换分区叫做虚拟内存,它的主要作用是:
若操作系统的物理内存用完了,则就会用到
swap
(虚拟内存)。系统就会跑得很慢,但仍能运行; 如果swap
分区用完了,那么系统就会发生错误。通常会出现Application is out of memory
的错误,严重时会造成服务进程的死锁。操作系统无法正常运行,所以我们要高度重视内存的使用6、进程(任务)的状态信息
第6行是空行,第7行下面的每一行是每个进程(任务)的详细状态信息
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 — 进程名称(命令名/命令行)
其他使用技巧
1、多U多核CPU监控
在![image](https://user-images.githubusercontent.com/8563874/55678289-b7946e00-5929-11e9-9a56-d10096f114d8.png)
top
基本视图中,按键盘数字1
,可监控每个逻辑CPU
的状况:逻辑上有4个,实际中只有1个,参见下图2.高亮显示当前运行进程
敲击键盘![image](https://user-images.githubusercontent.com/8563874/55678305-f1fe0b00-5929-11e9-926e-64374ef71674.png)
b
(打开/关闭加亮效果),top
的视图变化如下:3.进程字段排序
默认进入![image](https://user-images.githubusercontent.com/8563874/55678321-2f629880-592a-11e9-9db3-e957a317d6e2.png)
top
时,各进程是按照CPU
的占用量来排序的4、显示命令所在的路径
敲击键盘![image](https://user-images.githubusercontent.com/8563874/55684575-fe608300-597e-11e9-9f8d-94f14c46c8fa.png)
c
(打开/关闭加亮效果),top
的视图变化如下: