如果我正在运行 SSD,我是否应该关闭内核日志记录(以及如何关闭?)?

如果我正在运行 SSD,我是否应该关闭内核日志记录(以及如何关闭?)?

我在没有硬盘的 Dell XPS 9370 笔记本电脑上运行 Kubuntu 18.04 - 只有 SSD。

我是否应该关闭内核日志记录以减少对 SSD 上的 FLASH 内存的写入量,从而延长其使用寿命?如果是,我该怎么做?

这个问题是由媒体报道引发的,报道称早期的特斯拉汽车现在由于其 SSD 而出现故障,因为嵌入式 Linux 启用了日志记录功能,并不断写入基于 SSD 的日志文件。我经常读到写入 FLASH 的次数是有限的,但这是我听说的第一个具体的故障示例。

或者也许可以只记录到 RAM 中?

答案1

应该优先选择静音日志记录而不是禁用它(否则您可能会错过一些重要的东西)。

对于 235 之前的 systemd,你可以使用

journalctl --priority=3

对于较新的版本,有一个参数

/etc/systemd/journald.conf

您需要启用的名为ReadKMsg=的文件。备份并编辑该文件;删除#前面的#ReadKMsg=yes,将其更改yesno(您也可以在此行下插入一个新行,并使用 )ReadKMsg=no

更新日志版本 235

journald.conf 增加了一个默认为开启的新布尔设置ReadKMsg=。如果关闭,内核日志消息将不会被 systemd-journald 读取或包含在日志中。


我经常读到说写入 FLASH 的次数是有限的,但这是我听说的第一个具体的失败例子。

不过,上述更改对 SSD 的写入影响不大,因为写入操作很少。不过,少写一次就是少写一次 :)

特斯拉可能遇到的问题:他们使用的 SSD 可能是相当老旧的磁盘。而且较旧的 SSD 确实存在问题。现在……问题不大了。

答案2

Linux 内核很早就对 SSD 有了充分的了解,并且默认安装似乎“开箱即用”地运行良好。

我会将日志记录和其他所有内容保留为默认设置。我会不时监控 SSD 的使用寿命:

以上答案详细说明了如何检查 SSD 的剩余寿命:

第一步是安装,nvme-cli因为它提供最多的信息:

sudo apt install nvme-cli

接下来收集 SSD 提供的信息:

$ sudo nvme smart-log /dev/nvme0
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning                    : 0
temperature                         : 42 C
available_spare                     : 100%
available_spare_threshold           : 10%
percentage_used                     : 0%
data_units_read                     : 28,149,264
data_units_written                  : 19,392,109
host_read_commands                  : 559,538,536
host_write_commands                 : 171,732,762
controller_busy_time                : 1,352
power_cycles                        : 2,384
power_on_hours                      : 1,362
unsafe_shutdowns                    : 133
media_errors                        : 0
num_err_log_entries                 : 608
Warning Temperature Time            : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1                : 42 C
Temperature Sensor 2                : 55 C

使用率是0%两年后的百分比。当达到这个百分比100%时,理论上驱动器已经全部用完了,需要更换。但这里有一个使用率已经达到的人,250%这让人觉得不可能:

长话短说,现在你的 SSD 很有可能比你的计算机系统的使用寿命更长。

相关内容