• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Linux文件預讀對系統的影響(2)

    發表于:2013-12-27來源:IT博客大學習作者:娃娃點擊數: 標簽:linux
    test 1025 1084 1024 cp 3 36 18 ... #第二次拷貝test,我們可以看到 用戶要1025個頁面,預讀決定讀284,但是實際IO讀了0,很合理,因為所有的頁面在pagecache里面都已經

      test 1025 1084 1024

      cp 3 36 18

      ...

      #第二次拷貝test,我們可以看到 用戶要1025個頁面,預讀決定讀284,但是實際IO讀了0,很合理,因為所有的頁面在pagecache里面都已經存在

      Tue May 31 05:50:46 2011, TOTAL: 1038, SKIP: 804, REQ: 1039, TO_RD: 328, NR_RD: 0

      FILENAME REQ TO_RD NR_RD

      test 1025 284 0

      cp 3 4 0

      ...

      Linux系統不僅為文件的讀取提供自動預讀,還提供了readahead這樣的系統調用和工具,幫助用戶主動預加載數據,我們演示下:

      $ readahead junk

      Preloaded 0 files (0 KB) in 5 ms

      另外一個窗口說:

      Tue May 31 05:57:45 2011, TOTAL: 1044, SKIP: 805, REQ: 1045, TO_RD: 348, NR_RD: 0

      FILENAME REQ TO_RD NR_RD

      junk 1026 284 0

      readahead 3 4 0

      Linux還支持對每個設備設定預讀的默認大小,不同的大小可以用來控制預讀的力度,用戶可以自行改變:

      $ pwd

      /sys/block/sda/queue

      $ cat read_ahead_kb

      128

      $ echo 256 |sudo tee read_ahead_kb

      256

      后續我會用這個工具分析leveldb數據庫的行為,歡迎關注!

      總結: 如果actual讀比用戶req的要多很多, 那么我們的很多預讀就浪費了,可以考慮減少預讀的大小

    原文轉自:http://blogread.cn/it/article/3670

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>