c – 写入的最佳缓冲区大小(2)
发布时间:2020-12-16 10:30:38 所属栏目:百科 来源:网络整理
导读:假设我想在文件中写入1 GB的数据,比如说使用write(2)系统调用的ext3 Linux文件系统,这种情况发生在一个非常繁忙的环境中(很多类似的I / O很简单).间隔中的最佳缓冲区大小是多少,例如,[4 kB,4 MB] 不使用O_DIRECT打开标志,或 使用O_DIRECT? 请不要“自己检查
假设我想在文件中写入1 GB的数据,比如说使用write(2)系统调用的ext3
Linux文件系统,这种情况发生在一个非常繁忙的环境中(很多类似的I / O很简单).间隔中的最佳缓冲区大小是多少,例如,[4 kB,4 MB]
>不使用O_DIRECT打开标志,或 请不要“自己检查”答案 – 我想从“文件系统”人那里得到答案. 解决方法
正如评论中所讨论的那样,我认为确切的大小并不重要,假设它是:
>文件系统大小的一小部分(见Joachim Pileborg评论建议stat(“.”)等) 因此,16k字节和几兆字节之间的2的功率应该是合适的.大部分时间都花在阅读磁盘上.文件系统和磁盘基准测试在该范围内非常平坦. 4Kbytes似乎通常是页面大小和磁盘块大小. 当然,在使用文件系统块大小mke2fs创建文件系统时,您可以调整内容,甚至调整. 我敢打赌,最优化实际上取决于您的硬件(SSD,硬盘?)和您的系统(及其负载). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |