使用python实现统计Nginx进程所占用的物理内存
admin
2023-03-21 01:01:15
0

实现代码一:

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


#!/usr/bin/python
#coding:utf8

from subprocess import Popen, PIPE
import os

#如果需要对httpd进行统计可以把nginx改为httpd,其它服务统计同理,但有部分无法实现,如oracle
nginxpid = Popen(["pidof", "nginx"], stdout=PIPE)
nginxpid = nginxpid.stdout.read().split()

memsum = 0
for 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 += pidmem

print("%d %s" %(memsum,"KB"))


实现代码二:

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


#!/usr/bin/python
#coding:utf8

"""此脚本需要系统安装smem软件,安装方法:yum -y install smem"""

from subprocess import Popen, PIPE
import sys

allmeminfo = 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")


执行结果如下:


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

相关内容

热门资讯

终于懂了“普通扑克三公保庄大有... 您好:普通扑克三公保庄大这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家...
【第一消息】“天天爱泰州麻将是... 您好:天天爱泰州麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这...
【今日要闻】“阿拉斗牌有挂吗?... 【今日要闻】“阿拉斗牌有挂吗?”(确实真的有挂)您好,阿拉斗牌这个游戏其实有挂的,确实是有挂的,需要...
终于懂了“AGPoker怎么装... 家人们!今天小编来为大家解答AGPoker透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪...
终于了解“葫芦娃犇犇是不是有挂... 家人们!今天小编来为大家解答葫芦娃犇犇透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买...
玩家攻略科普“新蓝鲸拼三张到底... 家人们!今天小编来为大家解答新蓝鲸拼三张透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里...
今日重大发现“hhpoker可... 家人们!今天小编来为大家解答hhpoker透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪...
今日重大通报“牵手跑胡子怎么装... 网上科普关于“牵手跑胡子有没有挂”话题很是火热,小编也是针对牵手跑胡子作*弊开挂的方法以及开挂对应的...
今日重磅消息“闲来贵州麻将开挂... 家人们!今天小编来为大家解答闲来贵州麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
今日重磅消息“新圣游牌九到底是... 有 亲,根据资深记者爆料新圣游牌九是可以开挂的,确实有挂(咨询软件无需打...