可能重复:
管道缓冲区大小是 4k 还是 64k?
在 linux 中,哪个头文件指定了可用于写入管道的大小?
我捕获每个可配置周期的主应用程序的延迟并将该数据写入管道。一个单独的报告过程会读取该管道。通常,主应用程序每秒交换大约 10,000 条消息。因此,给定一秒的周期,主应用程序为每个消息交换收集 10k 延迟数据点,然后将它们写入一秒边界上的管道。在这种情况下我有以下问题
- 有没有办法在创建时指定管道的大小,所以我可以确保管道中有足够的写入空间?
- 写入管道是否昂贵?管道是如何实现的?对管道的写入是否会针对某些 mmap 文件或内存缓冲区?