Is it possible to change the size of a named pipe on Linux?

AgentLiquid picture AgentLiquid · Jan 19, 2011 · Viewed 9.8k times · Source

I know that for the current version of the Linux kernel, the size of named pipes is 64K. Is it possible to increase this size at all?

I know I can switch to sockets, but first I'd like to see if I can solve an intermittent buffer-overflow problem by just increasing the named-pipe size.

Answer

Fred Foo picture Fred Foo · Jan 19, 2011

With recent kernels (>= 2.6.35), you can change the size of a pipe with

fcntl(fd, F_SETPIPE_SZ, size)

where size is a long. The maximum size is in /proc/sys/fs/pipe-max-size.