共计 2661 个字符,预计需要花费 7 分钟才能阅读完成。
过程治理命令
查看过程命令
ps 命令
显示零碎上运行的过程列表
# 查看零碎中所有正在运行的零碎
ps aux
# 获取占用内存资源最多的 10 个过程,能够应用如下命令组合:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
# 获取占用 CPU 资源最多的 10 个过程,能够应用如下命令组合:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
------------
a 显示所有用户的所有过程,除了会话引线
u 显示过程的归属用户及内存的应用状况,依照用户名和启动工夫程序显示
x 显示没有管制终端的过程
-e 显示零碎中所有的过程
-f 显示过程间关系
-H 显示树状构造
-r 显示以后终端的程序
-T 显示以后终端的所有程序
-p 依据过程 ID 显示对应的信息
-A 扼要查看系统启动的所有过程
aux 显示所有用户所有过程的详细信息
ps -ef
<!– more –>
显示的内容
- USER 哪个用户产生的
- PID 过程的 ID 号
- %CPU 该过程占用 CPU 资源的百分比
- %MEM 该过程占用物理内存的百分比
- VSZ 该过程占用虚拟内存的大小,单位 KB
- RSS 该过程占用理论物理内存的大小,单位 KB
- TTY 该过程是在哪个终端中运行的。tty1-tty7 代表本地控制台终端,tty1-tty6 是本地字符界面终端,tty7 是图形终端。pts/0-255 代表虚构终端,个别是近程连贯的终端,第一个近程连贯占用的是 pts/ 0 终端,顺次递增,? 示意由内核间接启动的,是零碎过程
-
STAT 过程状态。
- D 示意不可唤醒的睡眠状态,通常用于 I / O 状况
- R 示意过程正在进行
- S 示意过程在睡眠状态,可被唤醒
- T 示意进行状态,可能是在后盾暂停或过程在出错状态
- W 示意内存交互状态
- X 示意死掉的过程
- Z 示意僵尸过程。过程曾经终止,然而局部程序还在内存当中
- < 示意高优先级
- N 示意低优先级
- L 示意被锁入内存
- s 示意饱汉子过程
- l 示意多线程
- + 示意位于后盾
- START 该过程的启动工夫
- TIME 该过程占用 CPU 的运算工夫
- COMMAND 产生此过程的命令
top 命令
实时对系统处理器状态进行监控
top -p 1298
-------
选项
-p 只查看某个 PID
-b 分屏显示输入信息,联合 - n 能够把数据能够写入文件
-n 刷新几次
-d 指定刷新距离
-i 不显示闲置的过程信息
-c 显示过程的整个命令门路
------
交互选项
P 依照 CPU 排序,默认
M 依照内存使用率排序
N 依照 PID 排序
k 终止一个过程,提醒用户输出一个须要终止过程的 pid
i 疏忽闲置过程
s 扭转 top 刷新距离
o 扭转输入信息中显示我的项目的程序。按小写的 a~z 键能够将相应的列向右挪动,按大写的 A~Z 键能够将相应的列向左挪动。回车确认
c 显示残缺命令行
q 退出 top 命令
默认状况下,top 是依照过程来显示 CPU 耗费状况的,按 SHIFT+H 能够依照线程来查看 CPU 的耗费状况
显示的内容
第一行是工作队列信息,返回信息与 uptime 相似,零碎以后工夫、零碎运行了多长时间、有多少用户正在应用该零碎、零碎每隔 1 分钟、5 分钟、15 分钟的均匀负载
第二行是过程统计信息,别离为总数、正在运行的数量、睡眠的数量、进行的数量、僵尸数
第三行 %Cpu 一行中展现的是 cpu 的应用状况
- us (User time) 示意用户过程占用的工夫
- sy (System time) 示意零碎过程占用的工夫 us+sy 个别正当值是在 60-85%,超过 85 则会影响吞吐量
- ni (Nice time) 示意零碎破费在调整过程优先级上的工夫
- id (Idle time) 个别大于 40,示意 CPU 闲暇工夫,id 常常小于 40,示意 cpu 的负荷很重
- wa (Waiting time) 个别应小于 25%,示意用于期待 IO 实现的 CPU 工夫,超过 25% 的 wa 的值能够示意子系统可能没有被正确均衡,也可能是磁盘密集工作负载的后果,零碎的磁盘或其它 I / o 可能有问题,能够通过 iostat/SAR –C 命令进一步合成剖析
- hi (Hardirq time) 示意解决硬件中断的 CPU 工夫
- si (Softirq time) 示意处理软件中断的 CPU 工夫
- st (Steal time) 示意以后 CPU 被强制(involuntary wait)期待另外虚构的 CPU 处理完毕时破费的工夫,此时 hypervisor 在为另一个虚构处理器服务
最下边一栏是过程信息区
- PR 过程优先级
- VIRT 过程应用的虚拟内存总量。VIRT=SWAP+RES
- RES 过程应用的、未被换出的物理内存大小。RES=CODE+DATA
- SHR 共享内存大小
- S 过程状态,D 示意不可中断的睡眠状态,R 示意运行状态,S 示意睡眠状态,T 示意跟踪 / 进行,Z 示意僵死过程
如果想查看每个 CPU 的利用率,能够按 1 来查看每个 cpu 核的利用率了
pstree 命令
能够查看到依赖关系
pstree -aup
-a 显示每个程序的残缺指令,包含门路,参数
-c 不应用精简标示法
-G 应用 VT100 终端机的列绘图字符
-h 列出树状图时,特地表明当初执行的程序
-H 程序识别码 此参数的成果与 - h 参数相似,但特地标注指定的程序
-l 采纳长列格局显示树状图
-n 用程序识别码排序
-p 显示程序识别码
-u 显示用户名称
pmap 命令
显示过程调用的各种库别离占用内存的状况,能够看到所有内存地址的详细信息,而且还显示了启动过程的命令
# 通过过程 id 来查找
pmap -d 133872
mpstat 命令
显示多处理器零碎的 CPU 使用率,这些信息寄存在 /proc/stat 文件中
杀死过程命令
# 强制敞开指定过程
kill -9 pid
# 敞开指定过程
kill pid
# 敞开服务的所有过程
killall 服务名
# 强制敞开服务的所有过程
killall -9 服务名
pidstat 命令
指令
# -w 过程的上下文切换
# -d 过程 IO
# -r 过程内存应用
# -u 过程 cpu 应用
# cswch/s 是退让式上下文切换
pidstat -w
UID PID cswch/s nvcswch/s Command
# 5s 一次监控过程 pid 为 2213
pidstat -w -I -p 2213 5
# 监控过程 pid 的 ip 的 io
pidstat -d -p 2213
UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
过程内存文件
linux 中,在 /proc/{pid} 目录下存储指定过程的相干信息,其中 /proc/{PID}/smaps 文件中记录着以后过程所对应的内存映像信息,能够通过该信息查问指定过程的 swap 应用状况
如
cat /proc/15812/smaps | grep Swap
https://zhhll.icu/2021/linux/ 日常治理 / 过程治理命令 /
本文由 mdnice 多平台公布
正文完