我知道当前版本的Linux内核中,命名管道的大小为64K。是否可以增加这个大小?
我知道我可以切换到套接字(sockets),但首先我想看看是否可以通过增加命名管道的大小来解决间歇性的缓冲区溢出问题。
我知道当前版本的Linux内核中,命名管道的大小为64K。是否可以增加这个大小?
我知道我可以切换到套接字(sockets),但首先我想看看是否可以通过增加命名管道的大小来解决间歇性的缓冲区溢出问题。
在最近的内核版本(>= 2.6.35)中,您可以使用以下命令更改管道的大小:
fcntl(fd, F_SETPIPE_SZ, size)
其中size
是一个long
类型的变量。最大尺寸可以在/proc/sys/fs/pipe-max-size
中找到。