千家信息网

使用python实现统计Nginx进程所占用的物理内存

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,实现代码一:此方法适用于对进行名统一的进行进行统计,如httpd,ngins或php-fpm等#!/usr/bin/python#coding:utf8from subprocess import P
千家信息网最后更新 2026年11月03日使用python实现统计Nginx进程所占用的物理内存

实现代码一:

此方法适用于对进行名统一的进行进行统计,如httpd,ngins或php-fpm等


#!/usr/bin/python#coding:utf8from subprocess import Popen, PIPEimport os#如果需要对httpd进行统计可以把nginx改为httpd,其它服务统计同理,但有部分无法实现,如oraclenginxpid = Popen(["pidof", "nginx"], stdout=PIPE)nginxpid = nginxpid.stdout.read().split()memsum = 0for i in nginxpid:    pidfile = os.path.join("/proc/", str(i), "status")    with open(pidfile) as f:        for mem in f:            if mem.startswith("VmRSS"):               pidmem = int(mem.split()[1])               memsum += pidmemprint("%d %s" %(memsum,"KB"))


实现代码二:

此方法适用于某个用户进行使用内存统计,最后的结果是,一个用户所使用的所有内存信息,脚本使用方法,在执行脚本的时候在脚本后面加上要统计的用户名


#!/usr/bin/python#coding:utf8"""此脚本需要系统安装smem软件,安装方法:yum -y install smem"""from subprocess import Popen, PIPEimport sysallmeminfo = Popen(["smem", "-u"], stdout=PIPE)allmeminfo = allmeminfo.stdout.read().split("\n")for i in allmeminfo:    if i.startswith(sys.argv[1]):        meminfo = i.split()        print("Process Name: "+meminfo[0])        print("Total Process: "+meminfo[1])        print("Physics Memroy Use: "+meminfo[5]+" KB")


执行结果如下:


统计 脚本 用户 内存 代码 方法 此方法 结果 使用方法 信息 时候 用户名 系统 软件 部分 服务 统一 物理 进程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 A股互联网金融科技公司 互联网科技视频 有木互联网科技 撒么互联网科技公司 蓝色互联网科技 西藏七维空间互联网科技有限公司 团飞科技与伯堂互联网服务平台 银川新华互联网科技职业技术培训学校图片 花神(南京)互联网科技有限公司 注册互联网科技公司经营范围大全 链环科技传统企业怎么转型互联网 健康食品互联网创新科技园项目 中国科技创新与世界互联网大会 互联网科技如何创业 银行科技岗属于互联网吗 互联网科技快讯热点 上海乐五互联网科技有限公司 上海万顺科技互联网有限公司招聘 好易买互联网科技 互联网科技自媒体灵感 小米移动互联网科技园 北京路客互联网科技有限公司 小马过河互联网科技 金融科技和互联网金融 科技互联网大厂 互联网科技年终奖 广州互联网高科技取餐柜 互联网科技品牌 互联网领先科技成果宣传视频 株洲百竞科技的互联网营销顾问
0