Linux使用学习笔记3 系统运维监控基础

系统运维监控类命令

查询每个进程的线程数

复制代码
for pid in $(ps -ef | grep -v grep|grep "systemd" |awk '{print $2}');do echo ${pid} > /tmp/a.txt;cat /proc/${pid}/status|grep Threads > /tmp/b.txt;paste /tmp/a.txt /tmp/b.txt;done|sort -k3 -rn

for pid in (ps -ef \| grep -v grep\|grep "systemd" \|awk '{print 2}');do echo {pid} \> /tmp/a.txt;cat /proc/{pid}/status|grep Threads > /tmp/b.txt;paste /tmp/a.txt /tmp/b.txt;done|sort -k3 -rn

获取$(pid)变量,也就是与systemd有关的进程的pid号,awk用于提取进程信息的pid,grep用于在文件行内匹配java字符串,grep -v grep用于排除自身带grep的进程。awk和grep都是很常见的文本处理中的命令。

下一句,echo刚刚获得的pid号,并把输出给到/tmp文件夹下的a.txt。

下一句,cat读取/proc下刚刚的pid对应的文件夹,然后进入下面的status文件读取内容,在其中寻找线程信息,并存入/tmp文件夹下的b.txt。

下一句,paste合并ab两个文件,按照列合并,中间隔一个tab.

最后对输出进行排序。按第三行,降序数字排序。

如何检测系统中的僵尸进程将其kill

ps -e -o stat,ppid,pid,cmd |egrep '^Zz'

复制代码
ps -e -o stat,ppid,pid,cmd |egrep '^[Zz]' 

这里就是监测僵尸进程的命令,egrep是一个正则表达式工具,是grep命令的增强版本。现在建议使用grep -e来代替。

僵尸进程会以Z或者z开头(因为stat为z)。

这之后使用kill命令即可。但是如果要清理的进程很多,怎么办?

使用:

复制代码
ps -e -o stat,ppid,pid,cmd | grep -e '[Zz]' |awk '{print $2}' |xargs kill -9

-e代表显示所有进程,-o代表按照对应格式展示,后面是要输出的列。

这里我们是杀死了父进程,为什么?因为僵尸进程已经无法被唤醒了,不能接收任何信号。所以我们利用了linux的调度机制,父进程被杀掉,僵尸进程就成了孤儿进程,孤儿进程会被交给系统1号进程,该进程会周期性的调用wait清理僵尸进程。

如何查看占用cpu内存最多的几个进程

获取当前cpu占用最高

ps aux|head -l;ps aus|sort -rn -k3|head -10

复制代码
ps aux | head -1; ps aux|sort -rn -k3|head -10

ps aux | head -1; ps aux | tail -n +2 | sort -rn -k3 | head -10

观察输出:

可以看到多输出了表头,让第二个ps使用tail命令从第2行开始输出就好了,这一命令对应和head类似。只不过是用来观看文章尾部。

获取当前占用内存最高的10个进程

复制代码
ps aux | head -1; ps aux|sort -rn -k4|head -10

ps aux | head -1; ps aux | tail -n +2 | sort -rn -k4 | head -10

只有排序不同。

相关推荐
lll23526917791 小时前
2026行业语音转写工具专业术语转写功能横向分析
笔记·智能手机
by209993 小时前
Linux 基础指令与文件操作
linux·1024程序员节
宝绿特塑业再生科技4 小时前
改性HDPE再生颗粒在户外家具挤出发泡板材中的色差控制与高品质价值重构
经验分享·科技·学习·生活·1024程序员节·户外家具
Escalating_xu4 小时前
【Linux 网络编程】手写序列化与反序列化:从 x op y 到能校验的文本协议
linux·运维·网络
todoitbo6 小时前
在 Ubuntu ARM64 上运行 Q1 V3.0 MuJoCo 模型:加载、步进和单执行器响应
linux·运维·ubuntu·ai·机器人·仿真教程·启元
AR-26710-6 小时前
Linux Day26——传输层与三次握手
linux·运维
andrsted6 小时前
练题簿在线免费刷题:让整理过的资料,变成能反复练习的题库
学习·微信小程序·小程序·学习方法·刷题·1024程序员节
隔窗听雨眠7 小时前
PostgreSQL单表从Windows迁移到Linux:差异剖析、方案对比与全流程实战
linux·windows·postgresql
xinruoqianqiu7 小时前
记录Linux
linux
额额额对了7 小时前
嵌入式 Linux 实战:i.MX6ULL 上的 CAN 通信与摄像头采集
linux·运维·服务器