1
我喜歡使用這些命令上看到我的服務器我的內存使用情況:如何衡量用戶的所有進程的內存使用總量在Python
ps -u $USERNAME -o pid,rss,command | awk '{print $0}{sum+=$2} END {print "Total", sum}'
什麼將收集總和的最佳方式在Python腳本中?我看起來像psutil,但該模塊僅收集全局內存信息,無法由用戶過濾。
我喜歡使用這些命令上看到我的服務器我的內存使用情況:如何衡量用戶的所有進程的內存使用總量在Python
ps -u $USERNAME -o pid,rss,command | awk '{print $0}{sum+=$2} END {print "Total", sum}'
什麼將收集總和的最佳方式在Python腳本中?我看起來像psutil,但該模塊僅收集全局內存信息,無法由用戶過濾。
這很簡單,使用psutil
。您可以迭代所有進程,選擇您擁有的進程並對由memory_info()
返回的內存求和。
import psutil
import getpass
user = getpass.getuser()
total = sum(p.memory_info()[0] for p in psutil.process_iter()
if p.username == user)
print('Total memory usage in bytes: ', total)
非常感謝!這將我推向了正確的方向。使用這樣的列表理解是行不通的,因爲對於某些進程,memory_info()會拋出一個'AccessDenied'錯誤,所以我只寫了一個正常循環,並在其中放置了一個try-catch塊。 – mbrochh 2014-09-24 03:05:34
你關心平臺依賴嗎? – wnnmaw 2014-09-23 15:12:49