Linux TOP 命令

Linux TOP 命令,第1张

top命令分为汇总区和任务明细区

当前时间是15:39:37. 系统已经运行了90天,15个小时,26分钟。当前有两个活跃用户

上下两行以kb形式展示物理内存和swap内存的总计,空闲(free), 已使用(total)的情况

其中buff/cache ,是在cpu读写硬盘数据时,为了提速在内存中开辟的缓冲(buffer针对写)或缓存区域(cache针对读)

avail mem 是创建新进程时,在不使用swap分区的情况下,能够分配的内存大小。这个大小可能比当前的free还大,这是因为buff/cache中的内存在创建进程时,若需要,也是可以抢占过来的。

总共有27个进程,1个运行,26的sleep中

load average后面的三组数字分别是1分钟、5分钟、15分钟的工作负载情况。这里的Load指的出于R(runing)和D(Uninterruptible sleep)的两种状态下的进程数

在单核cpu情况下。load average 为0.4的表示,其cpu利用率只有40%。 load average 为1,表示cpu利用率为100。load average 为2.12说明,cpu已经超负荷112% (2.12减满负荷1,即为超负荷部分)

在多核cpu的机器上,需要将以上的1,5,15的负载除以对应的cpu核数,才好评估对应的cpu的负载情况

比如,这个cpu为40核的机器上,其cpu过去一分钟的使用情况为:8.26/40=0.2065 ,说明cpu使用率只有20%

展示每个进程的情况

在top名称执行后,按小k,可以进入进程杀死对话框

在后面输入进程号,即可杀死进程

在top命令下

按以下大写字母,分别按不同的维度进行排序

当然你也可以在命令启动时,直接对top加参数。比如以cpu使用情况排序

top命令默认显示的进程的运行情况,在top命令执行后,按大写的H,可进入线程执行情况页面,再按一次H则会到进程展示。或者在启动时对top加参数 top -H

在top执行后,按小c,则能够展示进程路径,并且对内核进程的名称(command列),加上方括号。再按c切换回去

当然也可以在启动时,加参数 top -c

top执行后按大V

在top启动后,按小写u,在输入框中输入对应的用户名

或者在top启动时,通过加参数来过滤用户 top -u root

在top启动后,按大O,进入过滤表达式的输入框

表达式有以下几种类型

输入等号'=',清除filter表达式

在top命令下,按t或m来进行进度条显示

首先基于 ps aux | grep processName 找到对应进程的pid

然后使用 top -c -p pid 方式单过滤查看该进程的资源占用情况

https://www.booleanworld.com/guide-linux-top-command/

各参数含义

一、top前5行统计信息

第1行:top - 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30

第1行是任务队列信息,其参数如下:

内容 含义

05:43:27 表示当前时间

up 4:52 系统运行时间 格式为时:分

2 users 当前登录用户数

load average: 0.58, 0.41, 0.30 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

load average: 如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie

第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

第2、3行为进程和CPU的信息

当有多个CPU时,这些内容可能会超过两行,其参数如下:

内容 含义

159 total 进程总数

1 running 正在运行的进程数

158 sleeping 睡眠的进程数

0 stopped 停止的进程数

0 zombie 僵尸进程数

37.0 us 用户空间占用CPU百分比

3.7 sy 内核空间占用CPU百分比

0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比

59.3 id 空闲CPU百分比

0.0 wa 等待输入输出的CPU时间百分比

0.0 hi 硬中断(Hardware IRQ)占用CPU的百分比

0.0 si 软中断(Software Interrupts)占用CPU的百分比

0.0 st

第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers

第5行:KiB Swap: 3905532 total, 267544 used, 3637988 free. 617312 cached Mem

第4、5行为内存信息

其参数如下:

内容 含义

KiB Mem: 1530752 total 物理内存总量

1481968 used 使用的物理内存总量

48784 free 空闲内存总量

70988 buffers 用作内核缓存的内存量

KiB Swap: 3905532 total 交换区总量

267544 used 使用的交换区总量

3637988 free 空闲交换区总量

617312 cached Mem 缓冲的交换区总量。

上述最后提到的缓冲的交换区总量,这里解释一下,所谓缓冲的交换区总量,即内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。

计算可用内存数有一个近似的公式:

第四行的free + 第四行的buffers + 第五行的cached

二、进程信息

列名 含义

PID 进程id

PPID 父进程id

RUSER Real user name

UID 进程所有者的用户id

USER 进程所有者的用户名

GROUP 进程所有者的组名

TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?

PR 优先级

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

P 最后使用的CPU,仅在多CPU环境下有意义

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

TIME 进程使用的CPU时间总计,单位秒

TIME+ 进程使用的CPU时间总计,单位1/100秒

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

VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

SWAP 进程使用的虚拟内存中,被换出的大小,单位kb

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

CODE 可执行代码占用的物理内存大小,单位kb

DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

SHR 共享内存大小,单位kb

nFLT 页面错误次数

nDRT 最后一次写入到现在,被修改过的页面数。

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

COMMAND 命令名/命令行

WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名

Flags 任务标志

三、

1.top命令默认值显示前面一部分的进程,若是想要查看全部的进程信息,则需要使用命令:top -ab -n 1,在这个命令中,a表示按内存倒序排列,b表示将所有列输出,n表示只执行一次。

2.在使用top -ab -n 1将所有进程信息输出之后,可以使用AWK等类似工具统计信息,例如:统计出COMMAND为httpd的所有进程占用的内存。

3.也可以使用命令top -an -n 1 | grep httpd,查看所有httpd的进程信息,如下图:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7256028.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存