linux下,pipe的容量的讨论与查看(转)
原文:https://blog.51cto.com/momo462/1825852
1、pipe的容量
2.6标准版本的linux内核,pipe缓冲区是64KB,尽管命令ulimit -a看到管道大小8块,缓冲区的大小不是4 k,因为内核动态分配最大16“缓冲条目”,乘64 k。这些限制是硬编码的
2、如何查看自己pc上的pipe多大
1)通过ulimit -a查看到 pipe size 一次原子写入为:512Bytes*8=4096Bytes
查看缓冲条目个数:cat /usr/src/kernels/3.10.0-327.el7.x86_64/include/linux/pipe_fs_i.h文件
所以我的pc下得pipe缓冲大小为:16*4096=65536Bytes
也就验证了man 7 pipe下的pipe capacity