0
我正在尝试使用mmap
来优化程序的某些部分。最后,我想统计一下特定的mmap
调用的读取和写入磁盘的数量。有没有办法得到这个I/O统计数据? (我正在使用C++,我希望这能够跨平台工作。)我可以收集mmap读/写统计信息吗?
我正在尝试使用mmap
来优化程序的某些部分。最后,我想统计一下特定的mmap
调用的读取和写入磁盘的数量。有没有办法得到这个I/O统计数据? (我正在使用C++,我希望这能够跨平台工作。)我可以收集mmap读/写统计信息吗?
看起来答案是“否”。不同的操作系统以不同的方式操作mmap
及其相关的系统调用,并且没有定义的界面用于以如此细致的级别查询这样的统计。
这应该根据正常的io统计数据进行处理。 mmap()和朋友是懒惰的函数,它们实际上可能不会拉入任何页面,直到程序实际触及它们。 – oakad
'mmap'本质上是不可移植的,它只能在linux内核上运行。 – randomusername
@oakad这就是为什么我很好奇实际使用统计。显然,我可以在应用程序中记录所有内容,并尝试减去以获得单个mmap的I/O,但如果我有两个,这不起作用。 –