鑑於:多線程(〜20線程)在RHEL 5.3下的C++應用程序。 在負載下進行測試時,top會顯示CPU使用率每秒跳躍10-40%。C++進程cpu使用跳轉導致檢測
設計大多非常簡單 - 大多數線程實現活動對象設計模式:線程具有線程安全隊列,來自其他隊列的請求被推送到隊列,而線程僅在隊列和進程中輪詢請求。處理的請求導致新的請求被推送到下一個處理線程。
該進程在每個數據以高負載接收/發送時都有多個TCP/UDP連接。
我知道我沒有提供足夠的數據。這是非常大的應用程序,我不熟悉它的所有部分。它現在從Linux上的Windows移植到ACE庫(用於網絡部分)。
假設問題出現在應用程序中,而不是外部問題,那麼可以使用哪些技術/工具/方法來發現問題。例如,我懷疑這可能是由一些互斥爭用引起的。
那究竟是什麼問題呢?高CPU使用率?你不指望「負載下」? – 2010-06-17 20:32:25
我期望穩定的CPU使用率,但它會不斷跳轉 – dimba 2010-06-17 20:33:16
在Windows上穩定嗎? – 2010-06-17 20:52:42