C 是写系统调用一个文件来减少内存的写入周期该如何处理

C 是写系统调用一个文件来减少内存的写入周期该如何处理,c,linux,linux-kernel,embedded,embedded-linux,C,Linux,Linux Kernel,Embedded,Embedded Linux,我必须在一天内多次读/写一个文件。说可能是每一秒,我都要更新文件 这对内存有何影响(我正在使用Emmc闪存) 由于emmc具有定义的写入周期,因此它将在该周期内损坏,请向我建议处理此问题的最佳方法 使用mmap和msync如何,是否有可能避免写入 如果我使用mmap并经常写入,则每次写入共享映射内存时,它也会在闪存中写入。这可能取决于计算机、文件系统、装载选项、内核(和版本) 也许(实际上也可能)您的文件位于内存中,并且它通常不会每次都更新闪存 您可以使用普通文件(例如数据库或使用的)或编写自己

我必须在一天内多次读/写一个文件。说可能是每一秒,我都要更新文件

这对内存有何影响(我正在使用Emmc闪存)

由于emmc具有定义的写入周期,因此它将在该周期内损坏,请向我建议处理此问题的最佳方法

使用mmap和msync如何,是否有可能避免写入


如果我使用mmap并经常写入,则每次写入共享映射内存时,它也会在闪存中写入。这可能取决于计算机、文件系统、装载选项、内核(和版本)

也许(实际上也可能)您的文件位于内存中,并且它通常不会每次都更新闪存

您可以使用普通文件(例如数据库或使用的)或编写自己的数据守护程序来避免这种情况。如果您需要保留文件,也许可以考虑编写自己的


如果您的问题中没有实际代码和更多细节,我们无法提供更多帮助。

如果您继续在闪存存储上重写文件,您将比不这样做更快地耗尽闪存。文件系统可以通过更均匀地分散写操作来帮助保护您。但是,目标应该是避免频繁地编写整个文件。一天有1440分钟;如果您需要每分钟写入一次整个文件,并且您的闪存的额定写入周期为100000次,那么您就有可能很快耗尽驱动器。(有一个系数表示“如果文件大小为驱动器大小的1%,则在执行一个周期之前,可以将其写入100次”)。例如,请参阅谷歌搜索“ssd磨损均衡”的结果,如和。是否有方法在嵌入式linux系统关闭之前找到它。是否有方法在断电或系统关闭之前保存。请给我一个示例。SIGPWR信号?否则,不确定。