top命令详细解析

top命令是linux下常用的性能分析工具。能够实时的显示系统中各个进程的资源占用情况,由操作系统提供,默认5s刷新一次。top是一个动态显示的过程,可以通过交互式命令对显示情况进行设置。

使用权限:所有使用者

一、输入top后界面显示剖析

1.第一行 该行与使用uptime 命令的结果相同

13:58:25 系统当前时间
up 2days,19:12 系统运行时间。最后一次启动到目前的总时间。
2 users 当前登录用户数量。当前只有2个用户登录
load average 0.02 0.03 0.05

系统负载。任务队列的平均长度,3个数值分别统计最近1,5,15分钟的系统平均负载。

系统平均负载:单核cpu情况下,0.00表示没有任何负载,1.00表示刚好满负荷,超过1则表示超负责,理想值为0.7。

多核cpu负载:CPU核数*理想值0.7=理想负荷,列入8核cpu不超过5.6表示没有出现高负载。

2.第二行,tasks为当前系统中所有任务的统计。

82 total 进程总数. 总共运行82个进程
1 running 正在运行的进程数。
81 sleeping 睡眠的进程数。
0 stopped 停止的进程数
0 zombie 僵尸进程数

3.第三行 cpu相关信息。如果是多核的情况,可以通过数字1 来回切换显示各核的cpu信息。

0.3 us user:用户空间占cpu资源的百分比
0.0 sy system:内核态进程占cpu资源的百分比。对于操作系统而言,消耗在内核态的时间应该越少越好。在实际应用当中,常常大量的io操作会使sy变大。
0.0 ni nice:用户态进程改变过优先级的进程占cpu资源的百分比。此处没有进程调整过nice的值,那个ni显示为0。
99.7 id 空闲cpu百分比。一般情况下,us+ni+id 应该接近100%.
0.0 wa IO-wait:io等待占用cpu资源的百分比。磁盘io操作是很慢的,比如cpu启动一个磁盘读写操作,需要等待磁盘读写的结果,在这个过程当中cpu处于空闲状态。linux系统在计算平均负载的时候会把cpu等待io的操作的也计算进去,所以当观察到系统的平均负载过高的时候,可以结合wa来判断系统的性能瓶颈是否在io读取。
0.0hi hardware interrupts:cpu服务硬中断占用cpu时间的百分比。硬终端为网卡,硬盘等硬件设备发送给cpu的终端消息,cpu收到之后消耗cpu时间进行处理。
0.0si software interrupts:cpu服务软中断占用cpu时间的百分比。软中断时由程序发出的中断请求,cpu收到后进行一系列处理。
0.0st steal Time: linux作为虚拟机的时候,虚拟机等待cpu资源的时间(time stolen from this vm by the hypervisor).

备注:按键t可以控制2,3行的是否显示。

4.内存状态,该行与free命令类似.此处使用kb为单位。

1006964 total 物理内存总量
145752 free 空闲内存总量
97592  used 使用中的内存总量
763580 bufer/cache 用作内核缓存的内存量

5.swap交换分区信息

524284 total 交换区总量
524284 free 使用的交换区总量
0 used 空闲交换区总量
692892 avail Mem 缓冲的交换区总量

内存信息可以通过 cat /proc/meminfo


备注:可以通过E(大写),来控制内存信息的显示单位

一般情况下,显示上i面信息就足够了,如果需要更多的信息,可以按下f进入任务信息的配置界面:

6.第六行:各进程的状态监控

PID:进程id

USER:进程所有者

PR:进程优先级

NI:nice值。负值表示高优先级,正值表示低优先级

VIRT:进程使用的虚拟内存总量。VIRT=SWAP+RES

RES:进程使用的、未被换出的物理内存大小。RES=CODE+DATA

SHR:共享内存大小

S:进程状态。D=不可终端的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程

%CPU:上次跟新到现在的CPU时间占用百分比

%MEM:进程使用的物理内存百分比

TIME+:进程使用的CPU时间总计

COMMAND:命令名字

一般情况下上面的这些信息就足够了,如果需要获取更多的信息,可以按下小写字母f进入任务信息配置界面。

在这里可以选择要显示的列,并且可以配置按照哪一列进行排序。此处采用%CPU进行排序。

top常用快捷键介绍

1.只显示某个用户的进程

小写字母u,查看某个按照用户权限启动的进程。

2.显示进程执行的完整命令

小写字母c来回切换COMMAND列的显示模式

3.按照某一列对进程排序

按小写字母f进入排序设置界面,配置排序。也可以使用预定义的命令按照某一列进行排序。比如:大写字母 M 以 %MEM 列排序;大写字母 N 以 PID 列排序;大写字母 P 以 %CPU 列排序;大写字母 T 以 TIME+ 列排序。

4.多核监控

在top的视图界面,按下键盘数字"1",可以监控每个逻辑cpu的状况。当前只有一个逻辑cpu0。

5.通过敲击"y"键盘,关闭或者打开处于运行态进程的高亮效果。

6.top命令配置文件。

通过命令修改的配置只是修改内存,保存配置需要按大写字母W,退出当前top命令,再次进入你的修改仍然起作用。

获取top的帮助文档可以使用小写字母h或者使用man top命令。

猜你喜欢

转载自blog.csdn.net/weixin_40352578/article/details/83240934
今日推荐