g13*_*g13 5 linux nginx logging ubuntu-14.04
这个链接说:
缓冲区大小不得超过对磁盘文件进行原子写入的大小。对于 FreeBSD,这个大小是无限的。
如何在我的服务器上找到原子写入的大小?有什么命令可以检查这个吗?
小智 2
我试图自己找出 Linux 中原子写入的大小,最有帮助的阅读来自这个Unix Stack Exchange 答案
但总而言之
这是来自man 7 管道。
POSIX.1-2001 规定小于 PIPE_BUF 字节的 write(2) 必须是原子的:输出数据作为连续序列写入管道。超过 PIPE_BUF 字节的写入可能是非原子的:内核可能会将数据与其他进程写入的数据交错。POSIX.1-2001 要求 PIPE_BUF 至少为 512 字节。(在 Linux 上,PIPE_BUF 为 4096 字节。)
因此,在 Linux 中,原子写入的大小为 4096 字节。
您可以在此处找到不同操作系统的 PIPE_BUF 大小的不错的表 http://ar.to/notes/posix#pipe-buf。
| 归档时间: |
|
| 查看次数: |
1600 次 |
| 最近记录: |