每秒将数百个文件写入磁盘

每秒将数百个文件写入磁盘

我正在开发一款软件,它能帮助我们每秒将 100 到 200 个文件写入磁盘。文件大小从 1k 到 3k 不等。Ubuntu是操作系统,使用ext4文件系统。

到目前为止,我看到了一些奇怪的行为。首先索引节点用完了,导致我们收到“磁盘空间不足”的错误。但为了解决这个问题,我们已移至大分区并大幅增加了 inode 数量。

然而,我仍然收到“设备上没有剩余空间”错误。在不同的机器上。df -idf -h报告有足够的可用空间和足够的可用 inode。

从与人们的交流中,我得到的答案各不相同,从“应该没问题”到“每秒写入磁盘的文件太多了”。我在 3 台不同的 Ubuntu 机器上都遇到过这种情况。

这个问题有明确的答案吗?对于这么多的写入,我应该只使用数据库还是操作系统应该能够处理这个问题?

答案1

打开文件描述符的数量可能有问题;您可以通过检查系统的当前值ulimit -n

如果这还不够,请通过执行来增加它ulimit -n 50000(例如)。

相关内容