用来查看linux内存使用情况的shell脚本
在Linux操作系统中,管理和监控内存使用是系统维护的重要部分。为了深入了解系统或特定进程的内存消耗,我们可以编写自定义的shell脚本来实现这一目标。本文介绍的脚本就是这样一个工具,它通过读取 `/proc/$PID/status` 文件中的 `VmRSS` 字段,来展示系统中每个进程所占用的内存大小。 `/proc` 目录在Linux中是一个虚拟文件系统,它提供了关于内核、进程以及系统状态的信息。`/proc/$PID/status` 文件包含了与进程ID为$PID的进程相关的各种统计信息。其中,`VmRSS` 字段表示进程的常驻集大小(Resident Set Size),即进程在物理内存中占用的空间,不包括交换空间。 脚本的核心部分如下: ```bash PIDPATH=/proc TOTLE=0 for DOCNAME in $DOC; do if [ -d $DOCNAME ]; then cd $DOCNAME if [ -f status ];then MEMERY=$(grep VmRSS status | awk -F':' '{print $2}' | awk '{print $1}') PIDNAME=$(grep Name status | awk -F':' '{print $2}') # ...处理MEMERY和PIDNAME... fi cd .. fi done TOTLE=$(expr $TOTLE / 1024) echo "TOTLE USERD: $TOTLE MB" ``` 脚本首先定义了 `PIDPATH` 为 `/proc`,然后初始化 `TOTLE` 变量为0,用于计算所有进程的内存总和。接着,它遍历 `/proc` 目录下的所有目录(代表各个进程),对于每个目录,如果包含 `status` 文件,就从中提取 `VmRSS` 和 `Name` 字段。`grep` 用于查找指定行,`awk` 用于字段处理,将 `VmRSS` 的数值提取出来。`TOTLE` 计算的是所有进程的内存使用之和,并转换为MB单位。 脚本最后会将结果输出到 `/root/script/pid.f` 文件中,方便用户查看。这样的脚本对于监控内存使用、排查内存泄漏问题或者进行性能分析非常有用。 请注意,此脚本只是一个基础示例,可能需要根据实际需求进行调整,例如添加时间戳、排序功能,或者过滤掉无用的进程等。此外,由于 `/proc` 目录下的信息是动态更新的,因此在执行脚本时可能会捕捉到不完整的数据,建议在需要的时候运行,以获取准确的内存使用情况。
- 粉丝: 6
- 资源: 964
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Golang_Puzzlers-新年主题资源
- vscode-vscode
- Algorithm Practice-冒泡排序
- gitmoji-vscode-vscode
- 常见查找算法-折半查找的实现
- StudentManageSystem-学生成绩链表处理
- Truora-Web-nodejs安装及环境配置
- DataStructure-建立学生信息链表
- discussion-vue3-master-通讯录排序
- PanUmlTools-类图
- datastructure-数据结构
- 计算机组成原理-计算机组成原理
- 24.7.8_sort-希尔排序
- renren-ui-nodejs安装及环境配置
- 大数据技术毕业设计源代码全套技术资料.zip
- 智慧农场小程序源代码全套技术资料.zip
- 1
- 2
前往页