我们正在 USB 驱动器上进行缓冲,并在 x 分钟后将其发送到我们的服务器。因为这涉及大量的写入和删除周期,所以 USB 很快就会死掉(在 1.5 到 6 个月之间)
我知道这不是一个理想的情况,但由于很多原因,我需要暂时处理这个问题,作为备份解决方案,USB 将保留 (如果有互联网问题,它仍然可以在本地服务器上缓冲)。
不过,我正在尝试寻找一种方法来延长 USB 生命周期,即使这只是一个很小的改进。 我一直在阅读有限的写入/删除周期,我想知道我是否可以通过修改文件而不是创建和删除文件来节省 USB 的使用生命周期。
当前文件大小约为 524 B...这并不大,而 block 大小为 16.384 B。 根据我收集到的所有信息,我了解到这个空间将默认保留,因此我应该能够在该 block 使用另一个 block 之前再写入 30 多次,对吗?
所以我的计划是为每个需要缓冲的设备创建一个专用文件,并通过向文件添加内容而不是创建新文件来让文件增长和收缩。 而不是一遍又一遍地删除文件,而只是清空文件的内容。
所以真正的问题是:修改文件是否会(可能)保存 USB 的任何生命周期,而不是不断地创建和删除文件,或者这根本无关紧要吗?
最佳答案
首先。 pendrive和SD,使用N字节的 block ,N可以是128、256、512等等。
小块更好,因为如果一个软件写入每 128 字节或每一圈的示例,不等于写入一次 128,两次 256 字节,或四次 512 字节 block 。
因此,我将尝试获得更小的 block ,但这意味着文件的最大大小更小。
其次,也是更重要的一点,尽量不要使用 caché write through,因为它总是写入磁盘。最好将所有内容都保存在内存中,并且只在 pendrive 或 SD 中写入一次。这一点使 block 大小的第一个无效。
第三,在Linux中,你可以最小化磁盘访问 您可能希望配置 journald 以将其日志存储在 RAM 中,例如通过创建自定义配置文件: /etc/systemd/journald.conf.d/usbstick.conf
[Journal]
Storage=volatile
RuntimeMaxUse=30M
关于linux - 尝试延长 USB 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39702587/