查swap内存使用

查询linux的swap被什么使用了

查询centos的swap被什么进程使用了

swap内存被什么程序占用,什么程序使用了swap分区,占用swap内存的进程

查系统使用swap内存前10个进程:

for i in $( cd /proc;ls |grep "^[0-9]"|awk ' $0 >100') ;do awk '/Swap:/{a=a+2}END{print '"i"',a/1024"M"}' /proc/$i/smaps 2>/dev/null ; done | sort -k2nr |head

这个命令的含义是:

  1. 首先,使用`cd /proc`进入`/proc`目录。

  2. 使用`ls |grep "^[0-9]"|awk ' $0 >100'`命令列出该目录下所有以数字开头且大于100的文件夹。

  3. 使用一个循环来遍历每个文件夹,将其存储在变量i中。

  4. 在循环中,使用`awk '/Swap:/{a=a+2}END{print '"i"',a/1024"M"}' /proc/i/smaps 2\>/dev/null\`命令来计算每个进程的Swap使用量,并以MB为单位打印出来。其中,\`/proc/i/smaps`表示进程的内存映射文件。

  5. 最后,使用管道符号`|`将输出结果传递给`sort -k2nr`命令进行按照第二列数字降序排序。

  6. 使用管道符号再将结果传递给`head`命令显示前面几行结果,默认是显示前10行。

这个命令的作用是找到占用Swap内存最多的进程,并显示其进程ID和Swap使用量。

查看某个进程使用的swap内存:

比如查看进程id为24450使用了多少swap内存

awk '/Swap:/{a=a+$2}END{print a/1024"M"}' /proc/24450/smaps

输出如:1208.17M

查占用内存资源最多的11个进程

ps aux --sort=-pmem | head -11

(已知centos7可以,redhat6不行)

相关推荐
慕雪华年4 小时前
【Docker】dockerfile识别当前构建的镜像平台
运维·docker·容器
我的青春不太冷5 小时前
【实战篇章】深入探讨:服务器如何响应前端请求及后端如何查看前端提交的数据
运维·服务器·前端·学习
Bulestar_xx6 小时前
vulnhub DC-4 walkthrough (含非预期)
linux·网络·安全
涛ing6 小时前
【5. C++ 变量作用域及其深入探讨】
java·linux·c语言·开发语言·c++·ubuntu·vim
大秦王多鱼6 小时前
Kafka ACL(访问控制列表)介绍
运维·分布式·安全·kafka·apache
曾经的三心草7 小时前
小程序项目-购物-首页与准备
运维·服务器·小程序·项目·购物
蓝染k9z9 小时前
在Ubuntu上使用Docker部署DeepSeek
linux·人工智能·ubuntu·docker·deepseek+
苏-言9 小时前
Linux环境下的Java项目部署技巧:安装 Mysql
linux·运维·mysql
代码对我眨眼睛10 小时前
重回C语言之老兵重装上阵(十三)C 预处理器
linux·c语言
张文君10 小时前
ubuntu直接运行arm环境qemu-arm-static
linux·arm开发·ubuntu