在 Linux 系统中,4GB 物理内存仅识别为 3GB 左右是常见现象,主要原因和解决方案如下:
内核保留内存区域(常见原因)
free -h
显示约 3.0-3.5GB 可用。PAE(物理地址扩展)未启用
集成显卡占用
UEFI/BIOS 限制
Memory Remap
或 Above 4G Decoding
选项。内核启动参数限制
mem=...
)可能人为限制了内存大小。uname -a
i686
或 x86
:32 位系统(最大 4GB,实际约 3-3.5GB)。x86_64
:64 位系统(应支持 4GB+)。sudo dmesg | grep -i memory
输出示例:
[ 0.000000] Memory: 3067804K/4194304K available (...)
4194304K
(4GB)是物理内存,3067804K
(约 3GB)是可用内存。sudo cat /proc/meminfo | grep -i memtotal
sudo dmidecode -t memory
lspci | grep -i vga
x86_64
内核)无 4GB 限制,能完全利用内存。bash
sudo apt install linux-image-generic-pae # Debian/Ubuntu
sudo yum install kernel-PAE # CentOS/RHEL
Memory Remap Feature
或 Above 4G Decoding
。cat /proc/cmdline
mem=3G
之类的参数,编辑 /etc/default/grub
删除后更新 GRUB:
bash
sudo update-grub
free -h
cat /proc/meminfo | grep -i memtotal
3.8G
)。希望这些步骤能帮您解决问题!