乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Linux 緩存 cache 和 buffer

       路人甲Java 2022-05-13
      在了解cache和buffer的區(qū)別之前,我們需要先知道,Linux 操作系統(tǒng)的內(nèi)存管理方式和Windows不同,Linux會盡量多的利用內(nèi)存,讓盡可能多的內(nèi)存參與工作(做cache) 用于提高性能。所以我們常??吹絃inux的空閑內(nèi)存總是很小,當(dāng)你的程序需要更多內(nèi)存時,Linux系統(tǒng)會把做cache的內(nèi)存還給你,讓你來運行你的程序。
       
      在Linux 中,查看內(nèi)存最常用的命令為: free [options]

       

      free -m :查看內(nèi)存情況,單位為MB。
      total 內(nèi)存總數(shù)
      used 已經(jīng)使用的內(nèi)存數(shù)(我的程序使用內(nèi)存數(shù)量+系統(tǒng)緩存使用的內(nèi)數(shù)量)
      free 空閑的物理內(nèi)存數(shù)(是真正的空閑,未被任何程序占用)
      shared 多個進程共享的內(nèi)存總額
      buffers 磁盤緩存(Buffer Cache)的大?。商岣呦到y(tǒng)I/O調(diào)用的性能)
      cached  磁盤緩存(Page Cache)的大小(可提高系統(tǒng)I/O調(diào)用的性能)
      -buffers/cache 表示已被我們的程序使用的內(nèi)存數(shù),計算方法:used - buffers - cached
      +buffers/cache 表示還可已被我使用的內(nèi)存數(shù),計算方法:free + buffers + cached
       
      操作系統(tǒng)目前可用內(nèi)存總量=free + buffers + cached,上圖差不多是2574M
       
      buffers是用來給塊設(shè)備做的緩沖大小、buffers是用來存儲目錄里面有什么內(nèi)容,權(quán)限等等
      cached用來給文件做緩沖,用來記憶我們打開的文件.
       
      即使你的程序運行結(jié)束后,Cache Memory也不會自動釋放。
      這就會導(dǎo)致你在Linux系統(tǒng)中程序頻繁讀寫文件后,你會發(fā)現(xiàn)可用物理內(nèi)存(free)會很少。
      其實這緩存內(nèi)存(Cache Memory)在你需要使用內(nèi)存的時候會自動釋放,所以你不必擔(dān)心沒有內(nèi)存可用。
       
      如果你覺得這樣看著難受,你可以手動去釋放Cache Memory。
       
      手動釋放緩存
      ---------------------------------------
      /proc是一個虛擬文件系統(tǒng),我們可以通過對它的讀寫操作做為與kernel實體間進行通信的一種手段。也就是說可以通過修改/proc中的文件,來對當(dāng)前kernel的行為做出調(diào)整。那么我們可以通過調(diào)整/proc/sys/vm/drop_caches來釋放內(nèi)存。操作如下:
       
      cat /proc/sys/vm/drop_caches   查看默認值
       
      先手動執(zhí)行sync命令,sync 命令將所有未寫的系統(tǒng)緩沖區(qū)寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。
       
      # echo 3 > /proc/sys/vm/drop_caches
      # cat /proc/sys/vm/drop_caches
      3
      將/proc/sys/vm/drop_caches值設(shè)為3
       
      再來運行free命令??梢钥闯鰜碛行У尼尫帕薭uffer和cache。
       
      清cache:echo 1 > /proc/sys/vm/drop_caches
      清buffer:echo 2 > /proc/sys/vm/drop_caches
      清cache+buffer:echo 3> /proc/sys/vm/drop_caches
       
      清緩存的另一種方法:
      sysctl -w vm.drop_caches=3
       
       
       
       
       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多