您好,登錄后才能下訂單哦!
今天給大家介紹一下如何分析Linux系統頁緩存。文章的內容小編覺得不錯,現在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。
系統當前頁緩存大小等數據可以查看/proc/meminfo文件,下面是一個簡單例子 [root@unimas_ses ]# cat /proc/meminfo Cached: 1094972 kB Dirty: 20484 kB Writeback: 0 kB
為了閱讀方便,很多與本文章內容不相關信息去除了。
Cached:當前頁緩存大小
Dirty:頁緩存中等待被寫入硬盤數據大小
Writeback:正在寫入硬盤數據大小,這個值一般為0,沒辦法,硬盤寫入速度太快了。。。。
頁緩存簡單介紹完畢,下面就介紹刷新頁緩存的pdflush進程了。系統里只能有2~8個pdflush進程,當前pdflush進程個數可以通過/proc/sys/vm/nr_pdflush_threads 查看。當系統內全部pdflush進程繁忙超過1秒后,系統會啟動一新pdflush進程。當超過一秒后,系統當前全部pdflush進程空閑時,系統會殺死一個pdflush進程。
系統有一些可控參數影響pdflush進程行為:
/proc/sys/vm/dirty_writeback_centisecs :默認為500(單位百分之一秒),間隔多長時間喚醒pdflush進程進行工作。
但修改該配置文件一般不會對具體喚醒時間有影響,內核算法本身在根據系統實際情況進行控制。
/proc/sys/vm/dirty_expire_centiseconds :默認為3000(單位百分之一秒),數據在頁緩存最長多久才會超時,刷入硬盤中。值得注意的是,默認時間為30秒,這說明一般情況下,數據會在頁緩存30秒后,才會真正寫入硬盤。
/proc/sys/vm/dirty_background_ratio :默認為10或者5(單位百分比),多少比例的Dirty數據在系統空閑內存中,才會刷入至硬盤。系統空閑內存計算方法=Cached+Memfree-Mapped.(這三個數據都是/proc/meminfo內)。
總結下來:系統刷新頁緩存正常下只有2種情況,1:數據放入頁緩存超過時限。2:頁緩存中待寫入數據大小已到達上線。
還有一種極端情況,當系統dirty數據大小大于等于/proc/sys/vm/dirty_ratio(默認為40%)時,write操作會堵塞,直至所有dirt寫入至文件。可以通過dd if=/dev/zero of=hog模擬這種情況。
以上就是如何分析Linux系統頁緩存的全部內容了,更多與如何分析Linux系統頁緩存相關的內容可以搜索億速云之前的文章或者瀏覽下面的文章進行學習哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。