我有一个目前运行良好的应用程序,
因为我在我的应用程序中使用了很多不同的服务(os 服务
)和编程语言(python,java,C++,MySql
),
我需要使用文件系统在它们之间进行通信,所以我创建和删除文件
大约每分钟 1000 个文件
。
正如我所说,系统目前运行良好,但我担心这种方法可能会缩短硬盘
的预期生命周期。
只是为了把事情弄清楚。它是一个 linux(ubuntu)
系统。
所以我的问题是“过度创建和删除文件(和文件夹)是否会导致长期问题?”
最佳答案
这不太可能,1000 次写入/分钟(16 次/秒)并非不正常。使用 vmstat 1
检查在未运行您的应用程序的常规系统上每秒发生的写入次数(查看 bo
列)。在我相对安静的 Linux 机器上,我会看到每分钟 300-600 次写入。
Linux 缓冲区缓存将减少写入次数。写入首先命中缓存,仅刷新到磁盘 on a certain schedule .许多操作将单独发生在内存中,因为您正在创建/删除的一些文件不会存在足够长的时间来刷新到磁盘。
如果您不需要数据在重启后仍然存在,请考虑使用 tmpfs(通常在/tmp 上,您也可以专门为您的目的创建一个)。这样你就永远不会碰到磁盘。您还可以通过避免写入同步来提高性能。
根据您的应用,您可能需要考虑使用 named pipes使用 mkfifo
命令。这为您提供了一种显示为磁盘文件的基于内存的 IPC 机制。
关于linux - 过多创建和删除文件缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27444990/