Windows-Server-2003

軟頁錯誤的優化

  • October 2, 2015

我目前正在對伺服器進行性能分析,我看到一個應用程序每秒產生大量的頁面錯誤。檢查頁面讀取/秒後,似乎這些都是軟頁面錯誤而不是硬頁面錯誤(沒有磁碟活動)。

然後我在網上讀到,大多數現代 CPU 可以處理大量的軟頁面錯誤,但我無處可以找到一個很大的數字……這個應用程序每秒出現 3000 到 7000 多個頁面錯誤。

那麼,對於每秒這麼多的軟頁面錯誤,我需要擔心嗎?

這種級別的故障是否會對性能造成顯著影響?

我可以做些什麼來優化它嗎?

提前致謝

根據您提供的事實,我認為上述應用程序正在快速分配記憶體(例如 malloc() )。似乎它分配了一個塊,可能釋放它然後再次分配。通常記憶體分配器會將釋放的記憶體塊保留在記憶體中,但在您的情況下,它可能被強制釋放。

我認為您在這裡無能為力,因為我們正在處理應用程序行為,而不是核心或其他方面。但是,我認為可以通過使用不同的記憶體分配器來改變這種情況。嘗試Google“記憶體分配器”。例如,在 Linux 中,預設的記憶體分配器是 ptmalloc。替代範例是: http: //goog-perftools.sourceforge.net/doc/tcmalloc.html

引用自:https://serverfault.com/questions/212605