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
相关推荐
拾光Ծ11 小时前
【Linux】“ 权限 “ 与相关指令
linux·运维·服务器
硬核子牙11 小时前
调试器是怎么让代码停下来的
linux
To_再飞行11 小时前
Linux Bash(一)
linux·运维·服务器·bash
我狸才不是赔钱货11 小时前
DevOps:打破开发与运维之间的高墙
运维·vscode·docker·devops
LCG元11 小时前
保姆级教程:CentOS 7/8 部署Nginx + MySQL + PHP(LEMP)环境,从零开始到上线项目
linux
疯癫的老码农11 小时前
【Linux环境下安装】SpringBoot应用环境安装(五)-milvus安装
linux·spring boot·milvus
孤廖11 小时前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习
油条不卖11 小时前
本地window10同步ubuntu上conda指定环境,并在C#项目中通过Python.NET调用自定义python接口
linux·ubuntu·conda
GeekAGI12 小时前
ansible-playbook -e 传递变量
运维
chenzfp12 小时前
【运维】鲲鹏麒麟V10 操作系统aarch64自制OpenSSH 9.8p1 rpm包 ssh漏洞修复
运维·ssh