关于程序员:linux-进程管理命令

37次阅读

共计 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 多平台公布

正文完
 0