运用python完成计算Nginx进程所占用的物理内存51CTO博客 - 凯时娱乐

运用python完成计算Nginx进程所占用的物理内存51CTO博客

2019-03-06 10:00:32 | 作者: 元柏 | 标签: 计算,完成,运用 | 浏览: 790

完成代码一:

此办法适用于对进行名一致的进行进行计算,如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")


履行成果如下:


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    shell中符号的含义ITeye

    指令,字符,匹配
  • 2

    rsync同步ITeye

    同步,文件,暗码
  • 3
  • 4
  • 5
  • 6
  • 7

    linux 了解过的指令ITeye

    检查,文件,运用
  • 8

    epoll水平触发边际触发ITeye

    形式,数据,事情
  • 9

    OpenVPN 装置进程ITeye

    客户端,运转,装备
  • 10

    OpenVPN 装置进程ITeye

    客户端,运转,装备