查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不行)

相关推荐
小王要努力上岸40 分钟前
[特殊字符] Nginx全栈实战指南:Rocky Linux 10 & Ubuntu 24.04 双系统部署
linux·nginx·ubuntu
linweidong3 小时前
C++ 模块化编程(Modules)在大规模系统中的实践难点?
linux·前端·c++
invicinble7 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷7 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
技术路上的探险家7 小时前
8 卡 V100 服务器:基于 vLLM 的 Qwen 大模型高效部署实战
运维·服务器·语言模型
有谁看见我的剑了?7 小时前
介绍一款 测试 DNS解析成功率的网站
运维
半桔7 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
绵绵细雨中的乡音7 小时前
深入理解 ET 与 LT 模式及其在 Reactor 模型中的应用
服务器·网络·php
HABuo8 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7778 小时前
关于Linux服务器的协作问题
linux·运维·服务器