【问题标题】:how to get physical memory including reserved memory from linux kernel?如何从linux内核获取物理内存,包括保留内存?
【发布时间】:2020-07-07 01:55:03
【问题描述】:

来自linux的proc.txt:

MemTotal: Total usable ram (i.e. physical ram minus a few reserved

但是如何从linux内核获取整个物理内存包括保留内存?

【问题讨论】:

    标签: c linux memory kernel


    【解决方案1】:
    physpages = get_num_physpages();
    
    pr_info("Memory: %luK/%luK available (%luK kernel code, %luK rwdata, %luK rodata, %luK init, %luK bss, %luK reserved, %luK cma-reserved"
    #ifdef  CONFIG_HIGHMEM
            ", %luK highmem"
    #endif
            "%s%s)\n",
            nr_free_pages() << (PAGE_SHIFT - 10),
            physpages << (PAGE_SHIFT - 10),
            codesize >> 10, datasize >> 10, rosize >> 10,
            (init_data_size + init_code_size) >> 10, bss_size >> 10,
            (physpages - totalram_pages() - totalcma_pages) << (PAGE_SHIFT - 10),
            totalcma_pages << (PAGE_SHIFT - 10),
    #ifdef  CONFIG_HIGHMEM
            totalhigh_pages() << (PAGE_SHIFT - 10),
    #endif
            str ? ", " : "", str ? str : "");
    

    所以get_num_physpages &lt;&lt; (PAGE_SHIFT - 10) 将获得整个物理内存。

    【讨论】:

      猜你喜欢
      • 2015-04-28
      • 2017-04-26
      • 2011-12-15
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 2011-05-30
      • 1970-01-01
      相关资源
      最近更新 更多