虚拟存储器的测量单位?

2024-04-29 01:35:48 发布

您现在位置:Python中文网/ 问答频道 /正文

当运行psutil.virtual_memory()时,得到如下输出:

    >>psutil.virtual_memory()
    vmem(total=8374149120L, available=1247768576L)

但这些值是什么计量单位?文档只是声称它是可用的“总物理内存”,但仅此而已。我试图将其转换为用户可以实际关联的值(即GBs)。

提前谢谢


Tags: 内存用户文档virtual物理psutilavailabletotal
3条回答

为什么不使用位移运算符: 如果你想以人类可读的方式显示,就这样!

values = psutil.virtual_memory()

以MB格式显示

total = values.total >> 20

以GB格式显示

total = values.total >> 30

1024^3=字节到千兆字节
所以我认为这项工作:

import psutil
memory = psutil.virtual_memory().total / (1024.0 ** 3)
print(memory)

指定的度量单位是字节。您可以使用此代码将其转换为Gb的 当你使用这个值时,它会有一个尾随的“L”,但这并不影响计算。

values=psutil.virtual_memory()
def get_human_readable_size(self,num):
    exp_str = [ (0, 'B'), (10, 'KB'),(20, 'MB'),(30, 'GB'),(40, 'TB'), (50, 'PB'),]               
    i = 0
    while i+1 < len(exp_str) and num >= (2 ** exp_str[i+1][0]):
        i += 1
        rounded_val = round(float(num) / 2 ** exp_str[i][0], 2)
    return '%s %s' % (int(rounded_val), exp_str[i][1])
total_size = get_human_readable_size(values.total)

相关问题 更多 >