free buffer waits
官網解釋:
This wait event indicates that a server process was unable to find a free buffer and has posted the database writer to make free buffers by writing out dirty buffers. A dirty buffer is a buffer whose contents have been modified. Dirty buffers are freed for reuse when DBWR has written the blocks to disk.
解釋:
此等待事件表示服務器進程無法找到可用的buffer,并通過寫出臟buffer來創建空閑緩沖區。
臟buffer指的的那些內容被修改的塊兒,當DBWR將塊寫入磁盤時,可以釋放臟的緩沖區以供重用。
Causes:
DBWR may not be keeping up with writing dirty buffers in the following situations:
The I/O system is slow.
There are resources it is waiting for, such as latches.
The buffer cache is so small that DBWR spends most of its time cleaning out buffers for server processes.
The buffer cache is so big that one DBWR process is not enough to free enough buffers in the cache to satisfy requests.
Actions:
If this event occurs frequently, then examine the session waits for DBWR to see whether there is anything delaying DBWR.
如果此事件頻繁發生,則檢查會話是否等待DBWR查看是否有任何延遲DBWR。
解釋:
當一個會話將數據塊從磁盤讀到內存中時,它需要找到空閑的內存空間來存放這些數據塊,
當內存中沒有空閑的空間時,就會產生這個等待;
會話在做一致性讀時,需要構造數據塊在某個時刻的前映像( p_w_picpath),
此時需要申請內存來存放這些新構造的數據塊,但內存中無法找到這樣的可用內存塊。
當數據庫中出現比較嚴重的 free buffer waits 等待事件時,可能的原因是:
(1)database buffer cache 太小,
(2)導致空閑空間不夠,比如內存中的臟數據太多, DBWR 無法及時將這些臟數據寫到磁盤中以釋放空間
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。