我正在从 Windows 过渡到 Ubuntu。我的台式机安装了 32GB 的物理内存,BIOS 和以前版本的操作系统都可以检测到。自从我转到 Ubuntu 16.04 以来,它只能识别 3.6GB。所有操作系统工具都报告相同的内存,,,free -h
等等。top
dmesg
我正在运行 x86_64。是否有配置设置可以访问完整内存?
free -h
:
top
:
如果您需要任何日志输出或信息,请告诉我。提前致谢。
更新
输出dmesg | grep Memory
Root@AGsys:~# dmesg |grep Memory
[ 0.000000] Memory: 3420004K/3667512K available (8394K kernel code, 1282K rwdata, 3944K rodata, 1480K init, 1292K bss, 247508K reserved, 0K cma-reserved)
输出uname -a
root@AGsys:~# uname -a
Linux AGsys 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
答案1
造成这种情况的可能原因有两个:
如果您运行的是 32 位版本的 Ubuntu,则无论您有多少个 DIMM 以及有多大,它最多只会使用大约 3.5 GB 的已安装 RAM。由于您的系统报告为 64 位,如果是这种情况,则可能表示存在其他问题;重新安装干净是解决此问题最可靠的方法,尽管这可能是由于 GRUB 中剩余的启动命令设置造成的。
收到假冒部件并非闻所未闻。也就是说,您购买的 2 GB DIMM 可能被当作 32 GB DIMM 出售。由于我从您的上一条评论中看到您正在运行 64 位 Ubuntu,因此这种可能性似乎更大。如果您卸下其中一个 DIMM 并查看其中一个芯片上印有的部件号,您/我们可能能够验证该芯片部件实际上是 32 Gb 芯片,或者它是 2 Gb 部件。
答案2
更新
看来问题出在我升级到 64 位 16.04 之前的 32 位内核上。我在全新安装后安装了 16.04,现在我可以看到正确的内存。
感谢您的支持。
干杯!