python 获取系统内存状态 proc meminfo

创建日期: 2024-11-07 10:28 | 作者: 风波 | 浏览次数: 15 | 分类: Python

来源:ChatGPT

def get_memory_info():
    mem_info = {}
    with open('/proc/meminfo', 'r') as f:
        for line in f:
            parts = line.split()
            key = parts[0].strip(':')
            value = int(parts[1])
            mem_info[key] = value
    return mem_info

memory_info = get_memory_info()
print(memory_info)

获取到的内存单位为 KB

按照 top 的方式,可以计算以下值:

获取到的内存项如下:

{
    "MemTotal": 131528152,
    "MemFree": 2334048,
    "MemAvailable": 84194712,
    "Buffers": 848,
    "Cached": 87823820,
    "SwapCached": 196904,
    "Active": 63440748,
    "Inactive": 53321684,
    "Active(anon)": 23224244,
    "Inactive(anon)": 18530936,
    "Active(file)": 40216504,
    "Inactive(file)": 34790748,
    "Unevictable": 0,
    "Mlocked": 0,
    "SwapTotal": 4194300,
    "SwapFree": 44424,
    "Dirty": 17896,
    "Writeback": 0,
    "AnonPages": 28742440,
    "Mapped": 13137744,
    "Shmem": 12817036,
    "Slab": 8840508,
    "SReclaimable": 7479528,
    "SUnreclaim": 1360980,
    "KernelStack": 100336,
    "PageTables": 654060,
    "NFS_Unstable": 0,
    "Bounce": 0,
    "WritebackTmp": 0,
    "CommitLimit": 69958376,
    "Committed_AS": 165306412,
    "VmallocTotal": 34359738367,
    "VmallocUsed": 642856,
    "VmallocChunk": 34291781628,
    "HardwareCorrupted": 0,
    "AnonHugePages": 7155712,
    "CmaTotal": 0,
    "CmaFree": 0,
    "HugePages_Total": 0,
    "HugePages_Free": 0,
    "HugePages_Rsvd": 0,
    "HugePages_Surp": 0,
    "Hugepagesize": 2048,
    "DirectMap4k": 408960,
    "DirectMap2M": 10760192,
    "DirectMap1G": 124780544
}
15 浏览
8 爬虫
0 评论