刚刚将 4GB 内存切换到 16GB 内存。但是,当我查看我有多少内存时,它显示为 15.3。我只是想知道为什么我刚安装了 16 GB 的 RAM 时我的内存会下降。
The*_*hwa 19
它可能只是使用内存的内核。Ubuntu 没有报告内核内存使用情况,而是从可用总数中减去。这只是为了让您知道在大多数情况下无法释放内核内存。该内存被用于绝对必要的事情,因此它将永远无法使用。
我不希望您运行所有这些,但我将它们包含在此处以供参考和完整性。最相关的是命令 3 和 4。另外请注意,无论单位缩写可能是什么,所有大小都将以 2 为基数(例如GiB)而不是以 10 为基数(例如GB)。
您可以检查您的 RAM 棒声称有多大:
sudo dmidecode | grep Size | grep MB
Run Code Online (Sandbox Code Playgroud)您可以使用(查找Mem和total)检查有多少 RAM 可用于一般用途:
free -h
Run Code Online (Sandbox Code Playgroud)您可以估计内核使用了多少内存:
cat /proc/meminfo | grep Slab
Run Code Online (Sandbox Code Playgroud)您可以通过以下方式检查“被盗”的显卡内存:
dmesg | grep stolen
Run Code Online (Sandbox Code Playgroud)您可以通过查看以下内容来查找特定的硬件保留内存:
dmesg | grep e820
Run Code Online (Sandbox Code Playgroud)您可以通过运行 memtest来测试以确保您的所有内存都正常工作
最可能的解释是,额外的空间正被您的显卡或内核本身使用。如果您不熟悉,内核是操作系统的最低级别部分,它使用的任何内存都不会对您可用,因此不会报告为空闲。内存可能出于多种原因使用,例如虚拟内存表、内存映射 I/O、内核进程、某些缓存、共享图形内存等。
很可能将命令 3 的输出添加到您的15.3GiB将导致几乎完全相同的16GiB. 我的系统就是这种情况:
6GiB5.6GiBcat /proc/meminfo | grep Slab:316652 kBGiB:316652/2^20 = 0.3GiBdmesg | grep stolen:32768KGiB:32768/2^20 = 0.03GiB5.6 + 0.3 + 0.03 = 5.93GiB由于Slab内存并不全面,我们可以假设内核正在使用0.07GiB我们看不到的地方,因此这是一个非常令人满意的结果。