来自dmesg,e820日志:
BIOS-e820: [mem 0x0000000180000000-0x000000047fffffff] (protected)
这标识了NVDIMM类型的内存模块.但是,linux(特别是4.2版)如何处理这个保护区呢?它是用作交换空间,常规内存还是……?
解决方法:
它似乎被内核版本4.1中引入的英特尔永久内存(PMEM)驱动程序使用.用于持久存储.
持久性内存或存储在以下位置描述:
该站点将PMEM解释为硬盘/固态磁盘持久存储器和易失性随机存取存储器(RAM)之间的混合.
“PMEM支持非标准NVDIMM和ADR保护内存.新的X86_PMEM_LEGACY Kconfig选项解释说,”将使用Intel Sandy Bridge-EP参考BIOS使用的非标准e820类型标记的内存视为受保护的内存.内核将这些区域提供给’pmem’驱动程序,以便它们可用于持久存储.“”
这里有一些人将它用于PMEM驱动程序:
有关Linux中持久内存使用的真正深入的文章,请参阅此处:
标签:linux,memory,linux-kernel
来源: https://codeday.me/bug/20190702/1356254.html