使用“mmap”的同一程序在不同的机器上表现不同

使用“mmap”的同一程序在不同的机器上表现不同

我正在两台不同的机器(CentOS 7)上运行一个使用巨大内存映射文件的应用程序。

我发现同一个程序在两台不同的机器上运行时,性能有显着差异。

原因是一台机器使用了过多的磁盘 I/O,因为大部分页面都换出到磁盘。

当我运行 top 命令时,共享内存区域的大小在慢速计算机上大约只有几兆字节。在速度更快的机器上,共享内存区域的大小约为 6GB,这意味着大部分数据都缓存在操作系统页面缓存上。

我检查了是否有足够的(超过 16GB)可用内存空间,足以缓存整个内存映射文件。

任何人都可以给我关于这个问题的想法吗?

相关内容