Linux Top 详细介绍,包含task排序
Linux Top
当我们在终端输入 top
命令时,会弹出一个变化的页面,打印出当前系统的大量重要指标,以及很多进程当前的运行情况:
可以看到,top
命令主要是两部分,第一部分为 头部指标
,打印的是当前系统级别指标;第二部分为 进程任务监控
,打印各个进程的当前运行情况。
头部指标
我们从上往下,逐行进行介绍。
top
这一行与 uptime
命令的输出极其相似:
打印的参数意义为:
- 21:18:48 当前系统时间。
- up 4:40 当前系统已经连续运行的时间。
- 4 users 当前登陆的用户数量。
- load average: 0.00, 0.01, 0.05 当前的平均负载: 5/10/15 分钟的平均负载。
其中 load average 是每 5 秒钟检查一次活跃的进程数,然后按照特定的算法计算的得出。使用
这 个 负 载 数 ÷ 逻 辑 C P U 个 数 > 1 这个负载数 ÷ 逻辑CPU个数 > 1 这个负载数÷逻辑CPU个数>1
说明系统已经在超负荷运转了。
这一行在 top
页面时,可以通过 l
进行开关。
Task
这行标识系统当前运行的进程有多少,多少个正在运行,有多少个在休眠,有多少个是 stopped 状态, 僵尸状态有多少个。
%Cpu
这行标识当前 CPU 的负载情况,显示的是百分比单位。
- us
运行用户进程(未调整优先级)所占用的 cpu 时间,如果这个数很大,那么说明当前瓶颈很可能在 cpu 上,程序大多数为计算密集型。
- sy
运行内核进程所占用的 cpu 时间。如果这个数较大,一般说明服务器资源较小,或出现其他问题。
- ni
和 us
相同,都是运行用户进程所占用的 cpu 时间,如果这个数很大,但他是调整优先级的进程。
- wa
用于等待 io 完成的 cpu 时间,如果这个值很大,说明程序大多数为 io 密集型。这时候可能 cpu 也会比较繁忙,因为一直在切换上下文。
- hi
处理硬件中断的 cpu 时间。
- si
处理软件中断的 cpu 时间。
- st
虚拟机 hypervisor 占用的 cpu 时间,如果当前处于一个 hypervisor 下的 vm,这个 hypervisor 其实也是要消耗一部分 cpu 处理时间的。
在 top
命令界面,使用 t
进行切换,可以转换 %cpu 和 tasks 这两行的表达显示。
KiB Mem & KiB SWap
这两行标示的是内存的使用情况,类似于 free
命令的结果,但有区别:
free # free 命令结果
类似于 task 和 %Cpu 行,使用 m
可以切换 Kib Mem 和 KiB Swap 行的表示方式。
Kib Mem 指标
- Mem total
物理内存总量。
- Mem free
内存空间空闲总量。
- Mem used
使用中的内存总量。
- Mem buff/cache
内存中缓存的占用,如果开了关系型数据库,一般此类会占用较多。
Kib Swap 指标
- Swap total
交换分区总量。
- Swap used
交换分区占用量。
- Swap free
交换分区空闲总量。
- Swap avial Mem
交换分区中缓冲的总量。
理解
如果用 windows 的内存管理来看待这些指标是不行的,windows 是每个程序使用多少,占用多少;但 linux 有内存管理的特殊性,不能单单只看 free
这一项来认为我们内存空间只有这么多了。
在 Mem
中内存总量 used
指的是现在系统内核控制的内存大小,而 free
是内核认为还未纳入其管控的数量(如果你现在是虚拟机就知道我们给虚拟机 16G mem,并不是立马就占用了 16G。)。而 used
代表控制的内存大小,并不是当前程序正在使用的,而最多只能表示使用过,在使用后 used
并不会变为 free
,所以理论上 free
只会越来越少,并不能通过这一个指标来判断当前服务器内存已经不足。
但我们总是想看到当前系统还剩余多少内存可以给新开的程序使用,这里有个简易的公式:
f r e e + b u f f e r s + c a c h e d = a v a i l a b l e free + buffers + cached ~= available free+buffers+cached =available
而对于 Swap 空间,如果 Swap空间大小一直在不停变化,说明内核在不断在 Mem 和 Swap 两个空间中交换数据,说明 Mem 空间已经无法满足,Swap 中已经开始占用,系统内存真正不够用了!
进程任务监控
监控此时此刻系统中运行的任务情况:
PID 进程id,代表进程的唯一标识(那个该死的屁ID)
USER 该进程所有者的实际用户名
PR 进程的优先级,如果是字母
rt
标识这些进程处于实时优先级
rt_priority
。
这个值是最终的优先级标识,越大,优先级越高。
- NI
nice
值,-20~20,越小优先级越高,用户最大设置为19.
这个值,设置后linux自己调度计算出最终优先级PR
- VIRT 进程使用的虚拟内存总量,单位为kb,计算公式为:
S W A P + R E S = V I R T SWAP+RES=VIRT SWAP+RES=VIRT
RES 进程使用(还未被换出的)物理内存大小,单位kb,计算公式为:
R E S = C O D E + D A T A RES=CODE+DATA RES=CODE+DATAS 当前进程状态
D 不可中断的睡眠状态
R 运行
S 睡眠
T 跟踪/停止
Z 僵尸进程
%CPU 占用的 cpu 百分比
%MEM 占用的 mem 百分比
TIME+ 运行时间
COMMAND 进程名称
如果想看具体的进程路径或者启动命令,可以按 c
进行切换。( ls -ltr /proc/$PID/exe)
单位都可以通过 e
进行切换:
排序
默认排序是按照当前 CPU
排序,然后按照 PID
进行排序,我们更多的时候是希望自定义各类排序。我们可以在 top
命令期间按下:
P
以 cpu 占据时间百分比进行排序。
M
以 mem 占据时间百分比进行排序。
T
以积累占用 cpu 时间进行排序。
当然,我们还可以通过其他办法进行排序,比如:bx
也是博主经常使用的方式。
然后可以使用 shift+<
和 shift+>
进行左右移动,按照 head
头进行降序排序。
其中 b
为高亮,x
为选中排序。
进程控制界面
在 top
命令界面,按下 f
能够进入进程控制页面。
在这个页面中,使用 空格
或者 d
能切换是否需要显示。
使用 s
来选择以那一列进行排序,
使用 ↑
和 ↓
进行命令选择。
按 q
退出到之前的页面。
帮助文档页面
在 top
命令页面,按下 h
可以进入帮助文档页面,里面详细的说明了各种使用参数:
### 管理进程
杀死进程
k
可以给对应 pid 一个 kill -9 信号,用来杀死进程。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t4UI6YiD-1669301427531)(static/boxcni80uVzIZ54Cdcy8Kb4ORnf.png)]
nice 赋值
r
命令可以重新给一个 nice
值,进行优先级排序
退出
q
或者 ctrl+c
Linux Top 详细介绍,包含task排序相关推荐
- Linux crontab 详细介绍及执行php
Linux crontab 命令介绍 语法介绍 使用权限 : root用户和crontab文件的所有者 crontab格式 语法 : crontab [-e [UserName]|-l [UserNa ...
- 操作系统linux配置php,操作系统--Linux的详细介绍
一 概述 1.什么是操作系统? 操作系统是人与计算机硬件交互的中介.用户无法直接与计算机硬件交互,无法直接指挥计算机工作,因此需要一个中介,这个中介就是操作系统,用户向操作系统发出命令,由操作系统直接 ...
- linux入门详细介绍
此文章较长,适合慢读,可查看linux入门大全:包括零基础入门.推荐Linux资源:linux视频文档资料下载 操作系统是一种特殊的软件,用来让计算机硬件和软件协同工作,并且处理我们敲打键盘和移动鼠标 ...
- linux文件目录详细介绍
linux文件目录 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里 /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点 ...
- php linux权限,Linux权限详细介绍
在理解权限之前我们要知道linux中的用户组: 在Linux中每个用户都属于一个组,Linux中每个文件都都有所有者.所有组.其他组.这几个概念我们可以用现实中的例子来理解.比如说你有一本书,那么你就 ...
- linux top命令 什么意思,Linux TOP 命令介绍理解
TOP 命令的含义 TOP 命令是常用的 Linux 性能监控的命令,执行后,界面如下: 第一行 top - 14:09:04 up 3 days, 21:20, 0 users, load aver ...
- 【数据结构】什么是内排序、外排序?内排序详细介绍
目录 一.什么是内排序?什么是外排序? 二.内排序详细介绍 1. 定义 2.排序分类&稳定性 3.内排序的方法 4.排序算法的性能评价 5.待排序记录的类描述 6.算法:顺序表插入 前言 排序 ...
- 嵌入式linux完整top命令,linux下top命令详细介绍
top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显示过程,即可以通过用户按键来不断 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
最新文章
- BZOJ3996 [TJOI2015]线性代数 【最小割】
- VS2013试用期结束后如何激活
- 洛谷 P2114 [NOI2014]起床困难综合症 解题报告
- 初学__Python——Python代码的组织形式
- 一个测试新人的职业规划——三个月
- python实验结论怎么写_Python实验课:Python元组数据及其运算
- 对话框:创建对话框模板和修改对话框属性
- 天体物理科研作图格式-要求-plot_example.py
- 学生用计算机重启,如何使学校的电脑在重启后不自动还原系统?
- ps安装了可以打开但开始里面找不到_PS CC2017安装教程【64/32位】
- Ubuntu虚拟机安装
- matlab实现通信系统,香农定理的介绍
- 挂载NTFS分区的两种方法
- lammps教程:delete_atoms删除原子后原子ID不连续的两种解决方案
- 钉钉、微信抢占移动OA入口,其他OA厂商何去何从?
- Mx Linux 截图工具-shutter
- TP FN FP TN
- MATLAB 存放字符串(循环中调用字符串)
- 【AI折腾录】stable web ui基础【sd安装、lora vae embedding hyperwork等基础概念】
- win10环境下修改cmd中用户名称为英文