從OS-agnostic question開始,特別是this response,類似於Linux上/ proc/meminfo等數據,我如何使用Python從OS X讀取系統信息(包括但不限於內存使用情況)。如何在OS X上使用Python讀取系統信息?
回答
我做了更多的Google搜索(尋找「OS X/proc」) - 它看起來像sysctl命令可能是你想要的,但我不知道它是否會給你所有你需要的信息。這裏的手冊頁:http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man8/sysctl.8.html
另外,wikipedia。
您可以通過命令行實用程序sysctl
和vm_stat
得到大量的系統信息(以及ps
,如this question)
如果你沒有找到更好的方法,你可以隨時撥打這些使用subprocess
。
可以從平臺模塊獲得真正可訪問的唯一東西,但它非常有限(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()
這裏有一個基於MACFUSE-/ proc文件:
http://www.osxbook.com/book/bonus/chapter11/procfs
如果你有控制你正在運行你的Python程序的盒子可能是一個合理的解決方案。無論如何,最好有一個/ proc來看看!
我正在尋找同樣的東西,我注意到這個問題沒有被接受的答案。在因爲這個問題原本問這段時間,一個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.
- 1. 如何在Windows和Linux上讀取C++中的系統信息?
- 2. 如何獲取OS X系統版本?
- 3. 如何在Java中使用OS X獲取時區信息?
- 4. 如何通過在SunOs系統上使用python獲取CPU信息?
- 5. 使用c獲取系統信息#
- 6. 使用Reg Query獲取系統信息
- 7. 使用c獲取系統信息#
- 8. 如何使用node.js獲取系統統計信息
- 9. Mac OS X,C用於讀取PCI設備信息的設備
- 10. 使用Python(Bash?)獲取操作系統級別的系統信息(CPU速度)
- 11. 如何讀取C++中的系統信息?
- 12. 如何使用純qml linux獲取系統,用戶信息
- 13. 如何使用Java在kubuntu中監視系統統計信息?
- 14. Python-wand:我如何讀取圖像屬性/統計信息
- 15. OS X PDF:獲取字體信息
- 16. 如何在Mac OS X Lion上重新安裝系統Ruby?
- 17. 通過編程訪問Mac OS X系統性能統計信息?
- 18. 在OS X上獲取操作系統版本
- 19. 我如何在PHP中獲取系統統計信息
- 20. 信息系統
- 21. 如何使用Lotus腳本獲取系統/磁盤信息?
- 22. OS X阿凡達系統
- 23. 使用Python捕獲Mac OS X系統音頻輸出
- 24. 如何在Android上獲取CPU使用情況統計信息?
- 25. 如何獲取在OS X上讀取文件的通知?
- 26. 用Postgresql獲取系統操作信息
- 27. iPhone OS當前使用情況統計信息(尤其是2.x和3.x)
- 28. 在OS X上使用CMake的Boost Python
- 29. 如何獲取Linux系統上的內存信息?
- 30. Python OS X - 從文件中獲取'添加日期'信息