我有一台朋友送的旧服务器(所以我不太熟悉它的规格),并且对系统统计信息显示的各种方式感到困惑。该机器运行的是 Ubuntu 22.04:
ubuntu@ubuntu-desktop:~$ uname -a
Linux ubuntu-desktop 6.5.0-15-generic #15~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 12 18:54:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
安装了两个 4GB RAM 模块,但根据我查看的位置,我看到总共只有 4GB:
ubuntu@ubuntu-desktop:~$ cat /proc/meminfo | grep MemTotal
MemTotal: 3921416 kB
ubuntu@ubuntu-desktop:~$ sudo dmesg | grep Memory
[ 0.000000] kernel: Memory: 3747444K/4122476K available (20480K kernel code, 4265K rwdata, 13180K rodata, 4792K init, 17396K bss, 374772K reserved, 0K cma-reserved)
[ 0.182659] kernel: x86/mm: Memory block size: 128MB
这与顶部和资源管理窗口
但是系统(某种程度上?)知道安装了 8 GB RAM:
sudo lshw -short | grep memory
/0/0 memory 64KiB BIOS
/0/c memory 8GiB Systemspeicher
/0/c/0 memory 4GiB DIMM DDR4 Synchron Unbuffered (Unregistered) 2667 MHz (0,4 ns)
/0/c/1 memory 4GiB DIMM DDR4 Synchron Unbuffered (Unregistered) 2667 MHz (0,4 ns)
/0/e memory 768KiB L1 Cache
/0/f memory 4MiB L2 Cache
/0/10 memory 16MiB L3 Cache
这恰好是Ubuntu 系统窗口。
根据 dmesg 输出以及我在其他地方看到的信息,只有 4GB 可用。考虑到交换的大小,安装时很可能也是这种情况(意味着作为一次性操作系统,我当时并不关心细节,并且期望 8GB RAM 加上相应的交换...)
这是正确的吗?如果正确,那么这种差异从何而来?
有什么方法可以解决这个问题,让所有 8 GB 都可用吗?