黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Linux磁盤緩存機制詳解

Linux磁盤緩存機制詳解

更新時間:2020-12-15 17:44:16 來源:動力節點 瀏覽1735次

磁盤緩存出現的原因大概有兩個:一是訪問磁盤的速度遠慢于訪問內存的速度,通過在內存中緩存磁盤內容可以提高訪問速度;二是根據程序的局部性原理,數據一旦被訪問過,就很有可能在短時間內再次被訪問,所以在內存中緩存磁盤內容可以提高程序運行速度。簡而言之,Linux磁盤緩存機制是為提高系統對磁盤中資源的訪問速度。

接下來我們先來詳細講解一下Linux磁盤緩存機制的兩大原因:

 

1.局部性原理

程序局部性原理:程序在執行時呈現出局部性規律,即在一段時間內,整個程序的執行僅限于程序中的某一部分。相應地,執行所訪問的存儲空間也局限于某個內存區域,具體來說,局部性通常有兩種形式:時間局部性和空間局部性。

時間局部性:被引用過一次的存儲器位置在未來會被多次引用。

空間局部性:如果一個存儲器的位置被引用,那么將來他附近的位置也會被引用。

 

2.頁緩存

Linux系統中為了減少對磁盤的IO操作,會將打開的磁盤內容進行緩存,而緩存的地方則是物理內存,進而將對磁盤的訪問轉換成對內存的訪問,有效提高程序的速度。Linux的緩存方式是利用物理內存緩存磁盤上的內容,稱為頁緩存(page cache)。

 

頁緩存是由內存中的物理頁面組成的,其內容對應磁盤上的物理塊。頁緩存的大小會根據系統的內存空閑大小進行動態調整,它可以通過占用內存以擴張大小,也可以自我收縮以緩解內存使用壓力。

 

在虛擬內存機制出現以前,操作系統使用塊緩存系列,但是在虛擬內存出現以后,操作系統管理IO的粒度更大,因此采用了頁緩存機制,頁緩存是基于頁的、面向文件的緩存機制。

 

在這次遇到的線上故障中,根本原因在于在業務邏輯中使用了臨時文件做緩存,一個臨時文件創建后如果在短時間內刪除,這時候對這個文件的操作都是在頁緩存內進行,不會實際回寫到磁盤。當程序出現問題響應變慢時,臨時文件存活時間變長,就可能會使其被回寫到磁盤上,導致磁盤壓力過大,進而影響整個系統。

Linux系統在讀取文件時,會優先從頁緩存中讀取文件內容,如果頁緩存不存在,系統會先從磁盤中讀取文件內容更新到頁緩存中,然后再從頁緩存中讀取文件內容并返回。大致過程如下:

 

1)進程調用庫函數read發起讀取文件請求

2)內核檢查已打開的文件列表,調用文件系統提供的read接口

3)找到文件對應的inode,然后計算出要讀取的具體的頁

4)通過inode查找對應的頁緩存,如果頁緩存節點命中,則直接返回文件內容;如果沒有對應的頁緩存,則會產生一個缺頁異常(page fault)。這時系統會創建新的空的頁緩存并從磁盤中讀取文件內容,更新頁緩存,然后重復第4步

5)讀取文件返回

 

所以說,所有的文件內容的讀取,無論最初有沒有命中頁緩存,最終都是直接來源于頁緩存。

 

Linux系統磁盤故障的根本原因在于在業務邏輯中使用了臨時文件做緩存,一個臨時文件創建后如果在短時間內刪除,這時候對這個文件的操作都是在頁緩存內進行,不會實際回寫到磁盤。當程序出現問題響應變慢時,臨時文件存活時間變長,就可能會使其被回寫到磁盤上,導致磁盤壓力過大,進而影響整個系統。我們搞懂了Linux磁盤緩存機制,此類問題也就迎刃而解了。想要學習更多Linux相關的知識,本站的Linux教程無疑是你最佳的選擇,短期幫你快速提升Linux系統的知識水平,鍛煉你的實戰能力。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠狠色综合久久 | 香蕉视频在线观看黄 | 国产成人精品永久免费视频 | 日韩国产欧美一区二区三区在线 | 成年视频xxxxx免费播放软件 | 相泽亚洲一区中文字幕 | 欧美国产激情二区三区 | 日日碰狠狠添天天爽五月婷 | 欧美高清另类video | 一级毛片免费的 | 九九热线有精品视频99 | 狠狠亚洲丁香综合久久 | 亚洲欧美日韩综合久久久久 | tom影院亚洲国产一区二区 | 人人做天天爱夜夜爽中字 | 欧美成人一区二区三区不卡视频 | 成人毛片免费观看视频在线 | 日韩欧美福利 | 伦理久久 | 天天操天天摸天天爽 | 亚洲一区欧美日韩 | 新香蕉视频在线 | 久久亚洲精品tv | 国产精品久久久久久久人人看 | 日本一区二区三区不卡在线看 | 日本在线一区 | 免费人成网站7777视频 | 久草手机视频在线观看 | 97免费视频在线观看 | 国产在线一区二区 | 黄色小网站在线观看 | 精品久久久久久亚洲精品 | 午夜在线网站 | 欧美成人精品高清在线观看 | 国产欧美日韩亚洲 | 欧美日韩一级二级三级 | 亚洲人成一区二区三区 | 欧美激情综合色综合啪啪五月 | 最新日韩在线观看 | 曰本一区二区三区 | 欧美激情精品久久久久久大尺度 |