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