linux下使用脚本实现对进程的内存占用自动化监测

linux系统中常用cat /proc/{pid}/status 和**pmap -x {pid}**来监测某个进程的内存资源占用情况。

其中注意各参数的含义如下:

VmSize:表示进程当前虚拟内存大小

VmPeak:表示进程所占用最大虚拟内存大小

VmRSS:表示进程当前占用物理内存的大小(与procrank中的RSS,pmap中的RSS一样)

VmLck:表示被锁定的内存大小

VmHWM:表示进程所占用物理内存的峰值

VmData:表示进程数据段的大小

VmStk:表示进程堆栈段的大小

VmExe:表示进程代码的大小

VmLib:表示进程所使用共享库的大小

VmPTE:表示进程页表项的大小

监测简本如下:

bash 复制代码
#!/bin/sh

#根据程序名获取pid信息
process_name=$1
pid=$(pidof $process_name)

echo "Memory monitor process script running..."

#开始周期性的监测,pmap和cat效果差不多
while true
do
pmap -x $pid
#cat /proc/$pid/status
sleep 10
done
相关推荐
云泽80815 分钟前
Linux 系统编程实战:从零手写一个高性能终端进度条
linux·运维·服务器
Mapleay22 分钟前
设备树/ACPI 与 fwnode 内核基础设施
linux
2601_9622937924 分钟前
【Python教程:自动化处理文件】
python·自动化·编程·文件处理·os模块
waiting9711181 小时前
Ubuntu 26.04 + Android14安装与编译教程
android·linux·ubuntu
Lsetea2 小时前
ACME 报 rate limit:Let‘s Encrypt 限速类型与重试策略
运维·https·证书·ssl·acme
qetfw2 小时前
Debian 部署 phpMyAdmin:Apache、PHP 与 MariaDB 管理界面配置
linux·debian·php·apache
A黄俊辉A2 小时前
两分钟上手docker
运维·docker·容器
青瓦梦滋2 小时前
NAT技术
linux·服务器·网络·网络协议·tcp/ip
啦啦啦啦啦zzzz2 小时前
自定义日志缓冲区(上)c++20
linux·服务器·c++·网络编程
邪修king2 小时前
Re: Linux系统篇(十八):进程篇(七): 进程深度解析:从 fork 创建到退出的完整旅程(附写时拷贝原理 + 代码实战)
java·linux·运维