2009-01-22 85 views

回答

3

您可以通過命令行實用程序sysctlvm_stat得到大量的系統信息(以及ps,如this question

如果你沒有找到更好的方法,你可以隨時撥打這些使用subprocess

3

可以從平臺模塊獲得真正可訪問的唯一東西,但它非常有限(cpu,os版本,體系結構等)。對於CPU使用率和正常運行時間,我認爲你必須包裝命令行實用程序的「正常運行時間」和「vm_stat」。

我建你一個vm_stat,另一種是由你;-)

import os, sys 

def memoryUsage(): 

    result = dict() 

    for l in [l.split(':') for l in os.popen('vm_stat').readlines()[1:8]]: 
     result[l[0].strip(' "').replace(' ', '_').lower()] = int(l[1].strip('.\n ')) 

    return result 

print memoryUsage() 
0

我正在尋找同樣的東西,我注意到這個問題沒有被接受的答案。在因爲這個問題原本問這段時間,一個Python模塊叫做psutil發佈:

https://github.com/giampaolo/psutil

內存利用率,您可以使用以下命令:

>>> psutil.virtual_memory() 
svmem(total=8374149120L, available=2081050624L, percent=75.1, used=8074080256L, free=300068864L, active=3294920704, inactive=1361616896, buffers=529895424L, cached=1251086336) 
>>> psutil.swap_memory() 
sswap(total=2097147904L, used=296128512L, free=1801019392L, percent=14.1, sin=304193536, sout=677842944) 
>>> 

對於CPU功能利用率,流程管理,磁盤和網絡。模塊中唯一的省略是用於檢索平均負載的函數,但如果您位於類UNIX系統上,則python stdlib具有os.getloadavg()。

psutil聲稱支持Linux,Windows,OSX,FreeBSD和Sun Solaris,但我只嘗試過OSX小牛和fedora 20.