ps命令:静态显示当前输入命令时刻的进程情况。
ps aux
a:显示当前终端下的所有进程信息,包括其他用户的进程。
u:使用以用户为主的格式输出进程信息。
x:显示当前用户在所有终端下的进程。
ps -u [用户名] 可以查看该用户名的所有进程
ps -ux 显示当前用户在所有终端下的进程。
ps -p {pid} -f可以查看某个进程所用详细命令
-p 指定进程pid,-f显示进程所有信息。
ps -elf
-e:显示系统内的所有进程信息。
-l:使用长(long)格式显示进程信息。
-f:使用完整的(full)格式显示进程信息。
top命令:动态显示进程情况,资源使用情况。
top
1. top命令如果不加限制,默认是查看所有用户的进程情况
2. top -u [用户名] 可以查看该用户名的所有进程
pstree -aup
以树状图的方式展现进程之间的派生关系,显示效果比较直观。
-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;
-c:不使用精简标示法;
-G:使用VT100终端机的列绘图字符;
-h:列出树状图时,特别标明现在执行的程序;
-H<程序识别码>:此参数的效果和指定”-h”参数类似,但特别标明指定的程序;
-l:采用长列格式显示树状图;
-n:用程序识别码排序。预设是以程序名称来排序;
-p:显示程序识别码;
-u:显示用户名称;
杀死进程使用kill+{进程的PID},kill -9 {进程的PID} 强制杀死进程,sudo kill + {进程PID}
pkill+程序名,通过程序名批量杀死进程
-p<进程号> 列出父进程为用户指定进程的进程信息
-t<终端> 指定终端下的所有程序
-u<用户> 指定用户的程序
pkill -t {终端名TTY} 杀死该终端下的所有进程
pkill -u {用户名}杀死指定用户名的所有进程
pkill -vu {用户名}杀死除开指定用户名的所有其他进程
21ic电子网 2023-11-20 18:46 发表于北京
以下文章来源于嵌入式艺术 ,作者Donge
Linux性能分析——TOP命令详解
1、Top命令介绍
Linux
系统中,Top
命令主要用于实时运行系统的监控,包括Linux
内核管理的进程或者线程的资源占用情况。
这个命令对所有正在运行的进程和系统负荷提供不断更新的概览信息,包括系统负载、CPU利用分布情况、内存使用、每个进程的内容使用情况等信息。
2、Top命令使用
Top
的命令介绍如下:
top -hv|-bcHiOSs -d secs -n max -u|U user -p pid -o fld -w [cols]
常用的Top
指令有:
top:启动top命令
top -c:显示完整的命令行
top -b:以批处理模式显示程序信息
top -S:以累积模式显示程序信息
top -n 2:表示更新两次后终止更新显示
top -d 3:设置信息更新周期为3秒
top -p 139:显示进程号为139的进程信息,CPU、内存占用率等
top -n 10:显示更新十次后退出
除此之外,在top
进程运行过程中,两个最重要的功能是查看帮助(h
或 ?
)和退出(q
或 Ctrl+C
)。
3、Top信息详解
top
展示界面由从上到下3部分组成
-
概览区域
-
表头
-
任务区域
-
还有一个输入/消息行,位于概览区域和表头之间。
3.1 概览区详解
top - 14:46:08 up 5:46, 1 user, load average: 0.00, 0.00, 0.00
-
程序或者窗口的名称:
top
-
当前时间和系统的启动时间:
14:46:08 up 5:46
-
总共的用户数量:
1 user
-
过去1、5和15分钟的系统平均负载:
load average: 0.00, 0.00, 0.00
Tasks: 290 total, 1 running, 212 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
这两行显示了任务数量和CPU
状态
-
第一行该信息对
Task
进行分类,包括running
、sleeping
、stopped
、zombie
四类,显示了系统中正在运行的任务的状态统计信息。具体来说,这里有291个任务总数,其中有1个任务正在运行,212个任务正在睡眠,0个任务已停止,0个任务为僵尸进程。 -
第二行显示
CPU
的状态百分比-
%Cpu(s)
: CPU使用率的统计信息。 -
us (user)
: 用户空间进程占用CPU的时间百分比。 -
sy (system)
: 内核空间进程占用CPU的时间百分比。 -
ni (nice)
: 用户进程以优先级调整过的占用CPU的时间百分比(通常不会有这个值)。 -
id (idle)
: CPU空闲的时间百分比。 -
wa (IO-wait)
: CPU等待I/O操作的时间百分比。 -
hi (hardware interrupt)
: CPU处理硬件中断的时间百分比。 -
si (software interrupt)
: CPU处理软件中断的时间百分比。 -
st
: 被虚拟化环境偷取的时间百分比(通常不会有这个值)。
-
KiB Mem : 3994720 total, 525876 free, 595492 used, 2873352 buff/cache
KiB Swap: 2097148 total, 2096624 free, 524 used. 3114400 avail Mem
这两行表示内存的使用情况
-
第一行表示物理内存,分为
total
、free
、used
、buff/cache
-
第二行表示虚拟内存,分为
total
、free
、used
、avail
默认单位是
KiB
,使用按键E
可以切换为MiB
、GiB
、TiB
、PiB
、EiB
KiB = kibibyte = 1024 bytes
MiB = mebibyte = 1024 KiB = 1,048,576 bytes
GiB = gibibyte = 1024 MiB = 1,073,741,824 bytes
TiB = tebibyte = 1024 GiB = 1,099,511,627,776 bytes
PiB = pebibyte = 1024 TiB = 1,125,899,906,842,624 bytes
EiB = exbibyte = 1024 PiB = 1,152,921,504,606,846,976 bytes
3.2 任务区
任务区是按照列的形式来显示的,并且有多个字段可以用来查看进程的状态信息。
3.2.1 任务字段介绍
-
%CPU
:CPU Usage
,自上次屏幕更新以来任务占用的CPU时间份额,表示为总CPU时间的百分比。 -
%MEM
:Memory Usage
,进程使用的物理内存百分比 -
CODE
:Code Size
,可执行代码占用的物理内存量 -
COMMAND
:Command Name or Command Line
,用于显示输入的命令行或者程序名称 -
PID
:Process Id
,任务独立的ID
,即进程ID
-
PPID
:Parent Process Id
,父进程ID
-
UID
:User Id
,任务所有者的用户ID
-
USER
:User Name
,用户名 -
RUSER
:Real User Name
,实际的用户名 -
TTY
:Controlling Tty
,控制终端名称 -
TIME
:CPU TIME
,该任务CPU
总共运行的时间 -
TIME+
:同TIME
,其粒度更细 -
OOMa
:Out of Memory Adjustment Factor
,内存溢出调整机制,这个字段会被增加到当前内存溢出分数中,来决定什么任务会被杀掉,范围是-1000到+1000。 -
OOMs
:Out of Memory Score
,内存溢出分数,这个字段是用来选择当内存耗尽时杀掉的任务,范围是0到+1000。0的意思是绝不杀掉,1000的意思是总是杀掉。 -
S
:Process Status
,表示进程状态信息-
D
:不可中断休眠 -
I
:空闲 -
R
:运行中 -
S
:休眠 -
T
:被任务控制信号停止 -
t
:在跟踪期间被调试器停止 -
Z
:僵尸
-
相关属性有很多,可以使用
man top
查看,这里先列举这些。
3.2.2 字段管理
我们输入top
后,默认只显示一部分属性信息,我们可以自行管理想要的属性信息。
我们输入F
或者f
,进入字段管理功能,用于选择想要的字段信息
按键 | 功能 |
---|---|
↑ 、↓ | 光标上下移动选择 |
空格 、d | 切换 |
s | 设置为排序依据字段 |
a 、w | 在4种窗口中切换:1.默认,2.任务,3.内存,4.用户 |
Esc键 、q | 退出当前窗口 |
4、交互命令详解
top
的功能很多,基本能够查看进程的各种状态信息,其中还有一些交互式的命令,方便我们更好的查看系统状态。
在
top
主界面中,我们输入下面的命令
命令 | 功能 |
---|---|
h 、? | 帮助信息查看,涵盖所有的快捷键 |
空格、回车按键 | 手动刷新界面信息 |
q 、ESC 按键 | 退出 |
B | 粗体显示功能 |
d 、s | 改变间隔时间 |
E 、e | 切换内存显示的单位,从KiB 到EiB |
g | 然后输入1-4 其中一个数字,选择哪种窗口(1.默认,2.任务,3.内存,4.用户) |
H | 进程、线程显示切换 |
k | 输入PID 信息,杀掉一个任务 |
Z | 改变配色 |