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
相关推荐
奔跑吧 android10 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 2】【通过一个案例属性list、hlist、rbtree、xarray数据结构使用】
linux·数据结构·list·kernel·rbtree·hlist·xarray
yzx99101311 小时前
生活在数字世界:一份人人都能看懂的网络安全生存指南
运维·开发语言·网络·人工智能·自动化
橙*^O^*安12 小时前
Go 语言基础:变量与常量
运维·开发语言·后端·golang·kubernetes
NiKo_W12 小时前
Linux 文件系统与基础指令
linux·开发语言·指令
阿拉斯加大闸蟹13 小时前
基于RDMA 通信的可负载均衡高性能服务架构
运维·架构·负载均衡
Darkwanderor14 小时前
Linux 的权限详解
linux
SabreWulf202014 小时前
Ubuntu 20.04手动安装.NET 8 SDK
linux·ubuntu·avalonia·.net8
不是吧这都有重名14 小时前
为什么ubuntu大文件拷贝会先快后慢?
linux·运维·ubuntu
sunshine-sm14 小时前
CentOS Steam 9安装 Redis
linux·运维·服务器·redis·centos
小熊h15 小时前
MySQL集群高可用架构——组复制 (MGR)
linux·数据库·mysql