自动TRIM与手动TRIM


13

我目前正在尝试找出如何使用新的TP进行修整,并且想知道手动/在线修整的区别。

这是我的设置:

带有SSD三星830、128GB和Xubuntu 12.10的ThinkPad T430,以下是一些输出,用于检查是否可以在我的系统上使用trim(从此处获取这些信息:http : //wiki.ubuntuusers.de/SSD/TRIM

root@eike-tp:~# sudo hdparm -I /dev/sda | grep -i TRIM
   *    Data Set Management TRIM supported (limit 8 blocks)

首先,我尝试了在线修整:如何启用TRIM?

我的fstab中插入了discard:

UUID=d6c49c17-a4f1-466c-9f7e-896c20db3bba /  ext4  discard,noatime,errors=remount-ro  0  1
# swap was on /dev/sda5 during installation
UUID=a0322f5f-c6c1-4896-863f-668f0638d8cf none  swap  sw  0   0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

我尝试测试它是否有效(但是当我使用/ dev / sda尝试时,我没有得到任何零),但是发现该方法仅适用于类型2的SSD,并且似乎具有类型3。所以我不知道它是否有效。

Ubuntuwiki(第一个链接)建议手动修剪,因此我设置了一个日常cronjob而不是将其丢弃:

#!/bin/sh
LOG=/var/log/batched_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG

Wiki文章建议每周或每天。现在我的问题是:

多久执行一次自动修剪?建议多久?在线修整还是手动修整?

谢谢您的帮助

Answers:


4

自动和手动修剪之间的区别在于,自动修剪(使用discard安装选项)在删除任何文件后同步修剪释放的块,而手动修剪(使用fstrim)一次修剪所有可用空间。

测试中

测试自动修剪是否正常的一种方法是创建和删除大文件:

user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync

如果自动丢弃有效,则再次手动修剪不会修剪很多块,因为它们应该已经修剪过。sudo discard -v在文件系统上运行,查看修剪了多少块。

建议

至于推荐哪个:根据我的经验,自动修剪会降低性能。但是,这可能取决于硬件。在您的驱动器上可能没问题。

如果您使用手动调整,那么请考虑一下在典型工作负载中写入数据的速率与SSD上的可用空间量之比。您希望在磁盘上填充已删除的数据之前进行足够的修剪。如果您的SSD大部分都是可用空间,或者磁盘工作量较小,则偶尔(每周甚至更长)的修剪就足够了。如果您的SSD几乎已满,或者您例如经常编辑视频文件,则需要更频繁地修剪。


2

我不是存储工程师,我自己也有相关的担心,但是我可以对调度提出一些有用的建议。我非常有信心TRIM不会在SSD上造成任何令人担忧的磨损。仅仅是整理工作,您的磁盘最终才能开始回收块。批量TRIMming的最佳时间表取决于使用情况;我应该考虑一下书写频率和自由空间的功能。考虑到这一点,我将fstrim -v手动断开cron作业几天。

我认为,技巧是制定一个时间表,在该时间表中,批TRIM准备好要写入的SSD,然后必须回收用过的块才能完成正常的写入操作,从而损害性能。等待24小时然后fstrim。如果它声称修剪的块比可用空间少得多,则批处理TRIMming的频率可能会比空闲空间少。



2

我会在每次启动时修剪SSD。我制作了一个sh文件,该文件在启动后20秒被调用。我选择在系统通知中而不是日志文件中显示fstrim的输出。

首先trim.sh~/bin目录中创建文件

#! /bin/sh
notify-send "TRIM" "$(sudo fstrim -v /)"

现在,我们需要授予用户运行fstrim的权限,因此我们不需要输入密码。使用visudo打开sudoers文件并添加以下行:

yourusername  ALL=(ALL) NOPASSWD: /sbin/fstrim

如果您将home/yourusername/bin文件夹包括在自己的文件夹中,$PATH还可以在终端中使用命令“修剪”手动修剪,而无需输入密码。

现在,您可以将脚本添加到启动应用程序并指定延迟。您需要再次注销/登录,以便加载新的sudoers条目。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.