使用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进程所占用的物理内存

相关内容

热门资讯

县交警队长被举报工作日KTV饮... “公安干警有禁酒令要求,工作日不允许饮酒,也不能进入经营性娱乐场所。我认为,他违规违纪了。”一名不愿...
学习新语·政绩观|“愚公”治山... 统筹:郭洁宇 朱旭东设计:殷哲伦新华社新媒体中心新华社出品
请问瓷砖外墙做防水多少钱 已有2条回答 回复者:小休维 瓷砖外墙防水涂料60元一平方。外墙透明防水涂料无色、透明、涂覆...
旧房翻新可以直接贴壁纸吗? 不可以的。首先墙纸就不能贴在乳胶漆墙面上,因为乳胶漆的工艺、质量等都会影响到墙皮的附着力,所以在乳胶...
怎样翻新厨房瓷砖墙面?墙面瓷砖... 厨房理不管是哪一种的瓷砖,都可以在旧瓷砖上贴新的瓷砖。个别严重起鼓或者破坏的瓷砖需要革除,革除后用马...
无缝瓷砖真的可以做到无缝吗 无缝瓷砖之间的缝隙确实比较小,但是想要做到真正的无缝应该是不太可能的,据说这种无缝瓷砖每个瓷砖之间的...
瓷砖可以翻新吗 瓷砖可以翻新。瓷砖翻新的方法有多种,比如可以重新进行上色,用瓷漆在瓷砖上重新进行涂色和美化,在施工过...
庄瑞雄称沈伯洋当市长2天就能解... 海峡导报综合报道 台民意机构民进党团干事长庄瑞雄日前称,鼠患是城市治理的问题,蒋万安必须要展现市长的...
双层大巴撞上限高架,车头嵌入架... 5月9日,广东湛江一双层大巴撞上限高架,造成车身和限高架受损,无人受伤。相关视频显示,一辆白色双层大...
五一票房冠军是惊悚片,“下沉市... 【文/新潮观鱼】今年“五一”档,有一个有意思的现象:一部看起来没有“爆款相”,演员和导演都没有很大票...