加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何获取进程的内存使用百分比?

发布时间:2020-05-27 13:49:25 所属栏目:Linux 来源:互联网
导读:使用以下代码,我可以获得MiB中给定进程的内存消耗: def memory_usage_psutil(): # return the memory usage in MB import psutil process = psutil.Process(os.getpid()) mem = process.get_memory_info()[0] / float(2 *

使用以下代码,我可以获得MiB中给定进程的内存消耗:

def memory_usage_psutil():
    # return the memory usage in MB
    import psutil
    process = psutil.Process(os.getpid())
    mem = process.get_memory_info()[0] / float(2 ** 20)
    return mem

如何更改此值以返回内存消耗百分比?

更新:在终端中为特定进程执行top命令时,我需要获取%MEM列的当前值.

示例:我需要此函数返回14.2以获取VirtualBox进程的进程ID.

解决方法

使用 process.memory_percent()

这与top一致.在下面的测试脚本中,您可以将参数更改为定义consume_memory数组的范围函数,该数组仅用于使用内存进行测试,并且python输出和顶部输出都将匹配:

import os
import psutil

def memory_usage_psutil():
    # return the memory usage in percentage like top
    process = psutil.Process(os.getpid())
    mem = process.memory_percent()
    return mem

consume_memory = range(20*1000*1000)

while True:
    print memory_usage_psutil()

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读