【发布时间】:2017-08-16 06:11:28
【问题描述】:
我必须在一天内多次读取/写入单个文件。说可能是每秒,我必须更新文件。
这对内存有什么影响(我使用的是 Emmc 闪存)。
由于 emmc 具有定义的写入周期,它会损坏,请建议我处理这个问题的最佳方法。
使用 mmap 和 msync 怎么样,有没有可能避免写入..?
如果我使用 mmap 并且经常写入,每次写入共享映射内存时它也会写入闪存。?
【问题讨论】:
-
如果你一直在闪存上重写文件,你会比不这样做更快地磨损闪存。文件系统可以通过更均匀地分散写入来帮助保护您。但是,目标可能应该是避免如此频繁地写入整个文件。一天有1440分钟;如果您需要每分钟写入一次整个文件,并且您的闪存额定为 100,000 次写入周期,那么您可能会很快耗尽您的驱动器。 (有一个因素是“如果文件是驱动器大小的 1%,那么您可以在经过一个周期之前将其写入 100 次)。
-
查看,例如,谷歌搜索“ssd wear leveling”的结果,例如searchsolidstatestorage.techtarget.com/definition/wear-leveling和en.wikipedia.org/wiki/Wear_leveling。
-
有没有办法在嵌入式linux系统关机之前找到它。有没有办法在电源故障或系统关闭之前保存。请给我一个例子。
-
SIGPWR 信号?否则,不确定。
标签: c linux linux-kernel embedded embedded-linux