天天看点

top 的简单解析

top

table of processes,主要是用来描述进程的。top是linux下一个用户态工具,和windows下任务管理器差不多,就是实时显示linux系统运行状态,进程线程cpu占用,内存使用情况等等。可以实时动态地查看系统的整体运行情况,是一个综合了多方信息检测系统性能和运行信息的实用工具。

在linux下执行top

top 的简单解析

系统时间为:13:15:23 可以用date 修改:date -s 10:10:10

系统运行时间为 up 25min ,系统上电运行时长为25min

系统当前有一个user: 1 user

系统负载: load  average,分别表示1分钟,5分钟,15分钟时间段

系统任务情况:Task(分别代表 任务总数,正在运行的任务数,睡眠任务数,停止任务数,僵尸任务数)

系统进程状态:R running;  S sleep;  D deep sleep ; T stop;Z zombie  (父进程需要调用wait/waitpid来为子进程收尸,一旦wait系统调用后,子进程会从此消失。)

CPU占用统计:us,user: 用户态(un-niced)的任务cpu占用率

                          sy,system:内核态任务cpu占用率

                          ni,nice:用户态(niced)的任务cpu占用率

                           id,idle:空闲的cpu占用率

                          wa,IO-wait:等IO完成的cpu占用率

                          hi, 硬中断cpu占用率

                          si:软中断cpu占用率

                         st:虚拟化相关

系统内存使用情况:total  总内存大小

                                used  已经使用的内存大小

                                 free:未使用的内存

                                 cache:文件的缓存

Swap交换分区使用情况:total 交换区总量

                                       used 使用的交换区总量

                                       free 空闲的交换区总量

                                       cached 缓冲的交换区总量

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

top展示的进程任务信息:

PID :进程号,top -H 命令可以展开线程模式

USER:运行这个进程的有效用户名,当一个文件设置了s属性后,执行这个文件的进程会具备该文件属主的权限(也就是设置EUID)。

PR:任务优先级 ,Priority,在linux系统中共有140个优先级,并将任务分成2类:实时任务和普通任务。

(1) 实时任务是霸道型任务,任务优先级范围是0~99,实时任务基于优先级进行调度,高优先级任务具有优先运行权。所以当系统中有实时任务时,top的PR字段会显示rt字样,表示是实时任务。

(2) 普通任务是nice型任务,不像rt任务那么霸道,它的调度规则是基于时间片轮转的,让大家都有机会执行,它不会占着cpu不放。

除了实时任务,系统里大部分都是普通任务,普通任务的优先级是可以看到的,PR的范围是0~39。普通任务的默认优先级是20,相当于NICE=0。普通任务可以通过调整nice值,来改变任务的优先级。

改变进程的优先级的方法有两种: 

1,top命令。输入r,然后根据提示输入进程ID,再输入优先级数值。

2,renice命令。renice -n 2 -p 3432。-n,后面是优先级的值;-p,是进程号。

基本公式: PRI = 20-NICE

top 的简单解析

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

VIRT:进程使用的虚拟内存总量,kb

RES:进程使用的,未被换出的物理内存大小,kb

SHR:共享内存大小,kb

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

%CPU:CPU时间占用百分比

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

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

COMMAND: 进程名称

top使用快捷键:

当输入top之后,按 1 ,可以监控每个逻辑CPU的状况

top 的简单解析

当输入top之后,按 f ,可以进入top字段选择,有”*”并且标注为大写字母的字段是可显示的,没有”*”并且是小写字母的字段是不显示的。

top 的简单解析

如果还有其他功能的话,可以直接看手册:   man top

友情链接:

https://blog.csdn.net/y33988979/article/details/81000162

https://www.cnblogs.com/dragonsuc/p/5512797.html

继续阅读