लिनक्स के proc.txt से:

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

लेकिन लिनक्स कर्नेल से आरक्षित मेमोरी सहित संपूर्ण भौतिक राम कैसे प्राप्त करें?

1
陳 力 26 मार्च 2020, 15:21

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 << (PAGE_SHIFT - 10) को पूरी भौतिक मेमोरी मिल जाएगी।

0
陳 力 27 मार्च 2020, 09:27