SWAP導致的效能問題

2022-07-25 13:51:22 字數 338 閱讀 4532

db維護過程中,我們常說的使用太多swap會導致效能問題,原因是:

當應用程式要請求新的記憶體頁的時候,如果已經沒有足夠的物理記憶體,就會把目前物理記憶體中的一部分空間釋放出來,以供當前執行的程式使用。

這部分被釋放的空間可能屬於某乙個程式,並且所謂的釋放,是把這部分記憶體頁存放到swap空間。

如果這個程式是活躍的,那麼當它的記憶體頁被存放到swap之後,下一刻它又要用到這一部分,那麼就又要把這一部分換入記憶體中,這個時候,系統就要把其它程式的記憶體頁換出到swap中,騰出空間給它。

反覆如此,就會造成效能的問題。

所以如果頻繁使用到swap來換出換入記憶體,那麼就意味著負載過高,或者物理記憶體不夠。

導致效能問題的常見情況

下面列出一些導致效能問題的常見情況.區分效能問題的乙個重要指標是cpu的利用率.總結 cpu利用率 負載低正常 高低資源爭用,資源被執行緒長時間占有,導致所有工作執行緒都處於等待狀態,導致cpu使用率低.正常都正常,只是響應時間總比設計中的響應時間慢一點點,那麼很可能是在某乙個細節上的優化不夠.如不...

現場問題 swap 頻繁交換導致系統CPU過高

問題描述 zabbix告警postgres vmcpu使用率過高 進入系統檢視top 檢視記憶體使用 進入postgres看到真正執行的sql總共有105個,其中還有全表掃瞄 分析kswapd0程序cpu過高原因 由於資料庫在同一時刻點大量sql掃瞄同一張表,雖然有索引,但還是觸發大量資料載入到記憶...

ASP中SQL語句導致的效能問題

今天,修改了一點上次做的辦公管理系統中的檔案上傳的bug,原因是asp中sql語句效能問題導致了recordset物件關閉,結果使資料入庫失敗。對於這個錯誤,我目前只能這樣理解了 sql語句 select from tab files 開啟表後,然後呼叫addnew方法新增要更新的資料,表面上看沒什...