您好,登錄后才能下訂單哦!
實現(xiàn)代碼一:
此方法適用于對進行名統(tǒng)一的進行進行統(tǒng)計,如httpd,ngins或php-fpm等
#!/usr/bin/python #coding:utf8 from subprocess import Popen, PIPE import os #如果需要對httpd進行統(tǒng)計可以把nginx改為httpd,其它服務(wù)統(tǒng)計同理,但有部分無法實現(xiàn),如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"))
實現(xiàn)代碼二:
此方法適用于某個用戶進行使用內(nèi)存統(tǒng)計,最后的結(jié)果是,一個用戶所使用的所有內(nèi)存信息,腳本使用方法,在執(zhí)行腳本的時候在腳本后面加上要統(tǒng)計的用戶名
#!/usr/bin/python #coding:utf8 """此腳本需要系統(tǒng)安裝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")
執(zhí)行結(jié)果如下:
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。