PAEを使用して32ビットCPUから4 GB以上のRAMを取得しようとしましたが、失敗しました。
~# grep -o pae /proc/cpuinfo
pae
pae
pae
pae
~# uname -a
Linux debian 4.9.0-6-686-pae #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) i686 GNU/Linux
~# grep HIGHMEM /boot/config-4.9.0-6-686-pae
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_HIGHMEM=y
# CONFIG_DEBUG_HIGHMEM is not set
~# dmidecode -t memory | grep Enabled
Enabled Error Correcting Capabilities:
Enabled Size: 1024 MB (Single-bank Connection)
Enabled Size: 1024 MB (Single-bank Connection)
Enabled Size: 1024 MB (Single-bank Connection)
Enabled Size: 1024 MB (Single-bank Connection)
Enabled Size: 1024 MB (Single-bank Connection)
Enabled Size: 1024 MB (Single-bank Connection)
しかも
~# free -h
total used free shared buff/cache available
Mem: 3.8G 29M 3.6G 10M 244M 3.5G
Swap: 9G 0B 9G
誰かが助けることができます。どこを見るべきですか?
ベストアンサー1
メモリの問題を診断するには、カーネルブートメッセージから始めるのが最善です。カーネルは、システムメモリに対して見つかったすべてを印刷します。の出力から起動してdmesg
"memory"を探します。
あなたが見つけたように、あなたの場合、これは次のことを示します。
[ 0.000000] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 2176MB of RAM.
[ 0.000000] WARNING: CPU: 0 PID: 0 at /build/linux-rtbsTs/linux-4.9.82/arch/x86/kernel/cpu/mtrr/cleanup.c:978 mtrr_trim_uncached_memory+0x2f5/0x326
これは、BIOSが6GiBシステムに対して正しく設定されていないことを示します。