软页面错误的优化

我目前正在服务器上进行性能分析,我发现一个应用程序正在产生大量的页面错误/秒。 检查页面读取/秒后,似乎这些都是软页面错误而不是硬页面错误(没有磁盘活动)。

然后我在网上阅读,大多数现代的cpus可以处理大量的软页面错误,但我从哪里都找不到大数量的应用程序……这个应用程序每秒跳跃3000到7000多页错误。

那么,对于这个数量的每秒软页面错误,我是否需要担心?
这个级别的故障有一个明显的性能打击吗?
我可以做任何事情来优化它吗?

提前致谢

根据您提供的事实,我认为上述应用程序正在快速分配内存(例如malloc())。 它似乎分配了一个块,可能释放它,然后再分配。 通常内存分配器会将内存块释放到caching中,但在您的情况下可能会被强制释放。

我认为在这里没有太多可以做的事情,因为我们正在处理应用程序行为,而不是内核或其他方面。 不过,我认为这种情况可以通过使用不同的内存分配器来改变。 尝试谷歌“内存分配器”。 例如,在Linux中,默认的内存分配器是ptmalloc。 替代的例子是: http : //goog-perftools.sourceforge.net/doc/tcmalloc.html