我有一个嵌入式 Linux 应用程序,它以相当慢的速度( 50字节/秒左右)写入文件。该文件位于硬盘驱动器 XFS 文件系统上。该文件是通过调用write()
而不是fwrite()
.
如果我重启系统并检查文件,就会丢失超过一分钟的数据。我认为默认的 Linux 行为是每5 秒同步一次磁盘缓存(我可以容忍5 秒的丢失数据,所以他们不会有这个问题)。我应该检查什么以查看为什么它长时间没有同步?/proc/sys/vm/dirty_writeback_centisecs
是500。我应该检查其他可更改的东西吗?它肯定看起来是磁盘缓存问题 - 如果我ls -l
是文件,则大小符合预期,并且在重新启动后它比以前小。