我在没有硬盘的 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
,将其更改yes
为no
(您也可以在此行下插入一个新行,并使用 )ReadKMsg=no
。
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 很有可能比你的计算机系统的使用寿命更长。