我想在 SSD 上安装 Ubuntu(我知道我必须设置 TRIM、noatime 等。)但我想知道我是否可以检查最后一天/周/月写入了多少 GB。
因为如果文件夹 /var 和 /tmp 在 SSD 上,我想测量每天在 SSD 上写入多少 GB。如果每天写入少于 10GB,我认为这很酷,并且不会对 SSD 造成太大损害。
不,我不想使用 ramdisk :)
我想在 SSD 上安装 Ubuntu(我知道我必须设置 TRIM、noatime 等。)但我想知道我是否可以检查最后一天/周/月写入了多少 GB。
因为如果文件夹 /var 和 /tmp 在 SSD 上,我想测量每天在 SSD 上写入多少 GB。如果每天写入少于 10GB,我认为这很酷,并且不会对 SSD 造成太大损害。
不,我不想使用 ramdisk :)
smartmontools
正如经常发生的那样,我开始重新发明包装中已经存在的轮子。该软件包为硬盘驱动器和 SSD(或者更专业的 SCSI 设备)提供了大量的诊断工具。特别是,smartctl
命令是我们正在寻找的:您在上面看到的是我的 SSD 的属性列表。特别感兴趣的是属性 241 (Host_Writes_GiB) 和 242 (Host_Reads_GiB)。这些值以 GiB 为单位(这是计算机科学中的经典计量单位,以 1024 字节为单位,在本例中为 1024^3,而不是 SI 单位的 10 次幂)。
在低级别,据我了解,此实用程序解析文件夹
lifetime_write_kbytes
中的实际文件/sys/fs
。特别是,在我的例子中:当然,这是一个命令行实用程序。如果您没有安装它(通过检查
apt-cache policy smartmontools
),然后通过安装它sudo apt-get install smartmontools
。有Gnome Disks Utility作为 GUI 替代品,它随 Ubuntu 一起提供。但是有几个警告:
/proc/diskstats
文件做的那样,它需要重新发明轮子。还有一点问题:显示的结果信息是读/写的总历史。因此,您无法在最近 x 天中提取读/写。
smartctl
至少到目前为止我发现的任何工具都是不可能的。但是,您可以做的是安排一个每日cron
任务,该任务将读取/sys/fs/ext4/sda1/lifetime_write_kbytes
带有时间戳的数据并将其附加到文件中。稍后,您可以减去差异以查看每天写了多少。例如,此类命令的内容将是: