您好,登錄后才能下訂單哦!
實現代碼一:
此方法適用于對進行名統一的進行進行統計,如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")
執行結果如下:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。