博客專欄

        EEPW首頁 > 博客 > linux準確測量U盤讀寫速度

        linux準確測量U盤讀寫速度

        發布人:電子禪石 時間:2020-01-13 來源:工程師 發布文章

        linux準確測量U盤讀寫速度


        ## 掛載U盤
        mount -t vfat /dev/sda1 /var/sdcard
         
        ## 測試寫入100MB速度
        sync;time dd if=/dev/zero of=/var/sdcard/largefile bs=10k count=10240;time sync
         
        ## 測試讀取100MB速度 (清除緩存)
        sync;echo 3 > /proc/sys/vm/drop_caches;time dd if=/var/sdcard/largefile of=/dev/null bs=10k

        上述測試方法就相對比較準確!
                寫入100MB時,先刷新flash后,才測量dd命令生成100MB到緩存(同時也有部分正在寫入flash)的時間Tdd,最后測量sync的時間Tsync,這個時間即為從緩存寫到U盤的時間。平均寫入速度為:100MB/(Tdd+Tsync)。
                測量讀取速度時,亦先sync把緩存中的雜數據寫寫進flash,并且清除緩存。最后才記錄dd命令從U盤寫入RAM的時間Tdd,因為/dev/null為tmpfs,沒必要計算Tsync,平均讀取速度為:100MB/Tdd。
                另外,time命令算出的時間要使用real對應的值。
        ————————————————

        1. dd命令簡述:

          if=輸入文件, of=輸出文件, ibs=一次讀取字節數, obs=一次寫入字節數, bs=設置一次讀取寫入的字節數, skip=跳過的bs數, count=拷貝的塊數

        2. 使用/dev/null和/dev/zero

          1. 把/dev/null看作"黑洞", 它等價于一個只寫文件, 所有寫入它的內容都會永遠丟失

          2. /dev/zero是一個偽文件, 但它實際上產生連續不斷的null的流

        ## 切入u盤目錄,測試寫入速度
        # dd if=/dev/zero of=./largefile bs=8k count=10
        10+0 records in
        10+0 records out
        81920 bytes (82 MB) copied, 11.0626 s, 7.4 MB/s
        
        ## 測試讀取速度 (清除緩存)
        # sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"     
        # dd if=./largefile of=/dev/null bs=8k
        8+0 records in
        8+0 records out
        65536 bytes (66 MB) copied, 2.90366 s, 22.6 MB/s

        實測例子:

        sync;time dd if=/dev/zero of=/media/sda1/largefile  bs=10k count=1024;time sync
        1024+0 records in
        1024+0 records out
        10485760 bytes (10 MB, 10 MiB) copied, 0.272702 s, 38.5 MB/s
        real    0m0.282s
        user    0m0.000s
        sys     0m0.270s
        real    0m0.474s
        user    0m0.000s
        sys     0m0.010s
        
        root@imx6qsabresd:/media/sda1# sync;echo 3>/proc/sys/vm/drop_caches;time dd if=/media/sda1/largefile of=/dev/null bs=10k
        1024+0 records in
        1024+0 records out
        10485760 bytes (10 MB, 10 MiB) copied, 0.0330447 s, 317 MB/s
        real    0m0.042s
        user    0m0.000s
        sys     0m0.040s


        原文鏈接:https://blog.csdn.net/litao31415/article/details/99683790


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞:

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 卢龙县| 娱乐| 山丹县| 永顺县| 汤阴县| 绵竹市| 伊春市| 资中县| 甘孜县| 黔西| 南京市| 仁化县| 南郑县| 游戏| 托克托县| 东山县| 德保县| 石门县| 肇庆市| 景德镇市| 兰考县| 大庆市| 和龙市| 诏安县| 广灵县| 革吉县| 汕头市| 五大连池市| 新泰市| 方正县| 桑日县| 洛阳市| 和政县| 繁昌县| 石屏县| 深泽县| 双城市| 龙海市| 武汉市| 阳东县| 彭州市|