昨天我需要在 Windows 上安装 Docker 以及 WSL2 以便在 Docker 容器中运行 elasticsearch。
安装后,我发现我的电脑物理安装的 RAM 为 16 GB,但只使用了 8 GB。这是我的 Windows 信息窗口的屏幕:
从任务管理器来看:
在我的资源监视器中,遇到以下情况:
我运行了 Windows 附带的内存检查和 Memtest86 - 均无任何错误地完成。在我的 BIOS 设置中,显示所有 16 Gb RAM(在资源监视器中,Windows 也识别所有已安装的 RAM),因此我认为第二个物理 RAM 条可用且未损坏。
我可能认为这个问题甚至在安装 Docker 和 WSL 之前就出现了,而我现在才发现这个问题。需要说明的是,我已经正确地卸载了它们——使用“卸载”。
对我的情况有没有什么可能的解决办法?
更新 不确定这是否与资源监视器所说的相同(可能是),但在任务管理器中我注意到以下情况:
答案1
逆转你的记忆库。
我花了很长时间阅读有关此问题的信息,并通过以下方式自行解决了它:
- 删除一个内存条。重新启动。在 Windows 中检查内存(win+pause):8/8GB 可用。
- 也移除该内存组,用另一个替换。重新启动。同样的检查,同样的结果
- 在其他插槽中添加其他存储体。它们现在实际上已反转。重新启动。16/16GB 可用。
我看到论坛帖子说他们尝试了同样的方法,但在情况 1 或 2 下无法启动系统,这表明该内存组实际上已损坏。cpu-z 仍然可以正确读取内存组的元数据,并且无法预测它的故障。
一些对其他人有帮助的事情:
- 重置 BIOS。
以下是一些建议,但没有任何证据表明它们有效:
- 更改 Windows 启动时应占用的内存量(在 msconfig > boot > advanced 中)
- 更改虚拟内存设置(设置>系统>高级>高级)
- 更改注册表设置以在重启时清除虚拟内存(HKLM > system > currentcontrolset > control > session manager > memory management > clearPageFileOnShutdown > 1)
这可能会有帮助:
- cpu-z 会告诉您内存组的准确参考编号,您可以将其与主板应提供的兼容性列表进行交叉引用。
- 像 corsair 这样的知名品牌提供终身保修。
- 至于原因,我也使用了带有 WSL2 (和 minikube) 的 docker。在配置/启动/停止其中任何一个时可能会出现一些小问题,这可能会导致它。