天天看點

發現問題,是解決問題的第一步

留下一個公司内解決問題的sharepoint貼子。

發現問題,

然後才能解決問題。

是用的spotlight for windows作的分析工具。

下一步,我真的想用load runner來弄,可以多學測試分析方面的技巧。。

我剛才遇到了cpu變紅的情況,我即時作了程序截圖,供大家分析參考。

一,看來,情況有可能是xxx上的一些job沒有充分smp(對稱多核處理器)性能導緻的吧。是以導緻一些任務程序隻使用其中的一個或很少的cpu來分散計算。。

比如,這個app,盡管隻占用了12%左右的cpu,但我們是8核,如果它隻用了一核,那麼,它相當于用了一個cpu96%(12*8)的計算資源。是以系統報cpu資源警示。

發現問題,是解決問題的第一步

二,這個程序的曆史消耗資源也可以看到--留心它運用完cpu資源之後,馬上産生記憶體讀寫操作,是以會有page fault,:

發現問題,是解決問題的第一步

三,我也有看到,這個app是all cpus的affinity。。是以我就不知道為什麼會發生這種情況了。

至于如何将程序與cpu綁定,setprocessaffinitymask這些,c#和php組同僚都是行家,我沒有發言權了哈。

發現問題,是解決問題的第一步

四,最後,說到xxx關心的page fault,這在中文俗稱缺頁中斷,硬中斷,軟中斷不多說,大約就是cpu試圖拿将頁畫資源拿來用時,發現它不在指定位置。而要從硬碟上的pagefile.sys虛拟檔案裡或其它地方拿來才行,就産生了中斷處理。

這個數值在記憶體不足時,用來診斷記憶體問題。如果記憶體很大,則用一個程序持續的記憶體中斷增加來診斷記憶體洩漏問題。

這個問題暫時沒有在xxx上發現,不用太注意。

一秒上千個pagefault,應該算正常。

比如,我在我機器看即時的中斷頁畫,都有一千多個。

發現問題,是解決問題的第一步

呵呵,如果說錯了,希望大家改正哈。

我個人認為的問題,在排除了網絡之後,可能就是cpu了。。

~~~~~~~~