其他资讯
🩱unRAID内存的重要性以及内存测试方法
00 分钟
2023-9-10
2024-3-28
type
status
date
slug
summary
tags
category
icon
password

1、前言:内存的重要性

unRAID 系统与其它系统相比,最大的一个区别是 unRAID 是加载到内存中运行的。
也就是说,unRAID 在启动时会从 U 盘(系统盘)读取系统文件加载到内存中,所以 unRAID 启动的过程实际上也就是将 U 盘文件加载到内存的过程。
因此 U 盘的读写速度不影响系统的运行速度。由于 unRAID 是加载到内存中运行,日常对 U 盘的读写很少,因此 U 盘不管使用的是 2.0 还是 3.0 几乎对系统的运行速度没有影响(除了开机读取 U 盘的那个过程会有一点点影响外),所以大家完全没有必要使用 3.0 的 U 盘,即使是官方也是推荐使用 2.0 的 U 盘可以避免一些兼容性的问题。
也没必要购买大容量的 U 盘,一般使用 8G 或者 16G 的 U 盘完全够用了。
由于 unRAID 运行在内存,因此如果你的内存条质量不好或者出现问题,那么会直接导致系统的不稳定出现各种奇奇怪怪的问题(例如WebUI 界面加载缓慢或者停滞),严重的话会甚至会出现系统崩溃的情况(从而造成失联问题)。

2、为什么需要检测内存

由于内存问题容易被忽视,加上不了解 unRAID 的朋友不知道 unRAID 是运行在内存中的,因此在排查问题的时候往往没有从内存下手,从而造成了极大的困扰。
内存问题往往会造成系统莫名巧妙的崩溃或者无响应,所以如果你的 Unraid 系统时不时出现宕机或者没有反应,那么首要考虑的是硬件层面的问题,而硬件层面的问题你需要重点关注内存。
需要提前说明的是,内存检测的时间会比较久(可能需要十几个小时,后文会有提及),所以如果你怀疑是内存问题造成的,那么你可以尝试只使用单根内存来运行 Unraid 系统,如果观察一段时间之后没有问题,那么再换成另一根内存继续进行观察,如此反复去测试所有的内存。
RANDOM REBOOTS - NO INFORMATION IN LOGS:Server restarting on its own, versus crashing or hanging, it's usually always a hardware or power issue, I would try with just one stick of RAM, if the same try a different one, that will basically rule out a RAM issue.
给大家介绍个案例,一位朋友的 unRAID 系统出现了系统崩溃的情况,找到我时他已经折腾了两三个星期,检测了系统的方方面面但都没有找出来是什么问题,最后通过内存检测才知道是内存不过关造成的。
这位朋友用的是三星的内存,所以大家也不要认为用大品牌的内存就不会出现问题了,而且这位朋友还是新组的设备。
当时的内存检测结果
当时的内存检测结果
当事人现身说法
当事人现身说法

3、如何检测内存

💡
需要特别说明的是,通过本文所介绍的方法去测试内存,即使检测通过了也不一定就说明内存没有问题(但这种情况比较少见),这种情况大家可以去看博主的另一篇文章:《换了3个U盘还是提示损坏:因内存而导致的罕见Unraid崩溃问题》
如果你更倾向于使用软件层面去检测,那么请继续往下看。
unRAID 自带有内存检测功能,在系统启动时选择 Memtest86+ 即可加载到内存检测界面,然后进行检测即可:
notion image
但本文着重介绍自行制作 USB 启动盘来检测内存的方法(同样也是使用的 Memtest86+ )。
博主先前测试的时候发现 unRAID 自带的 Memtest86+ 会出现加载不了的情况,不知道是我自己的原因还是别的可能,所以如果你也出现和我一样无法使用自带的 Memtest86+ ,那么你可以使用下面的方法去制作 USB 启动盘进行检测。
步骤很简单:
  1. 准备一个闲置的 U 盘(8G 大小即可,如果有重要数据记得备份,因为制作启动盘的时候会格式化)。
  1. 下载制作工具按照提示进行制作。
    1. notion image
  1. 把 U 盘插上设备,在 BIOS 中将 U 盘设置为第一启动项进行启动。
  1. 进入到 Memtest86+ 系统界面之后选择 (S)tart Test 开始检测,如下图所示:
    1. notion image
      开始检测
      开始检测
      理论上来说,进行 24H 的循环测试或者测试两到三遍基本上就能够保证测试结果的准确性了。
      Ideally 24H but 2 or 3 passes are usually enough to find issues if it problem is big enough.
      一官方开发人员对于内存测试时间和次数的建议:https://forums.unraid.net/topic/149370-unraid-random-rebootscrashes/?do=findComment&comment=1338150
      一官方开发人员对于内存测试时间和次数的建议:https://forums.unraid.net/topic/149370-unraid-random-rebootscrashes/?do=findComment&comment=1338150

4、检测结果说明

内存的检测时间会比较长(因为会检测很多遍),不同的内存检测所需的时间也不一样,在下面的例子中,16G 的内存花费了 4 个半小时,32G 的总内存容量花费了大概 10 小时。
如果检测顺利,内存检测出来没有问题,那么检测会提示 PASS
notion image
如果检测出来显示 FAIL ,那么也就意味着内存存在问题,并可以知道内存中的哪些地址上有报错:
notion image
报错的内存地址
报错的内存地址
检测完成后的其他数据统计截图参考
notion image
notion image
notion image
notion image
notion image
但需要再次说明,检测通过不一定就说明不是内存问题造成的。

评论