Cor*_*erg 51
对于跨平台解决方案,您最好的选择是使用psutil包(可在PyPI上获得).
from psutil import virtual_memory
mem = virtual_memory()
mem.total # total physical memory available
Run Code Online (Sandbox Code Playgroud)
文档virtual_memory
是在这里.
Acu*_*nus 44
os.sysconf
在Linux上使用:
import os
mem_bytes = os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_PHYS_PAGES') # e.g. 4015976448
mem_gib = mem_bytes/(1024.**3) # e.g. 3.74
Run Code Online (Sandbox Code Playgroud)
注意:
SC_PAGE_SIZE
通常是4096.SC_PAGESIZE
并且SC_PAGE_SIZE
是平等的.man sysconf
./proc/meminfo
在Linux上使用:
meminfo = dict((i.split()[0].rstrip(':'),int(i.split()[1])) for i in open('/proc/meminfo').readlines())
mem_kib = meminfo['MemTotal'] # e.g. 3921852
Run Code Online (Sandbox Code Playgroud)
Set*_*eth 12
正则表达式适用于此类事情,并且可能有助于分布之间的任何细微差别.
import re
with open('/proc/meminfo') as f:
meminfo = f.read()
matched = re.search(r'^MemTotal:\s+(\d+)', meminfo)
if matched:
mem_total_kB = int(matched.groups()[0])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34648 次 |
最近记录: |