linux 定时器中断 imx,NXP iMX8 存储性能测试
1).簡介
NXP iMX8系列應用處理器是NXP發布的基于Cortex-A72/A53/A35和Coretex-M4/M7等架構的ARM處理器,對于存儲部分,主要支持MMC 5.1、SD Memory Card 3.0、SATA 3.0、USB 3.0總線,本文就基于上述總線連接相應存儲外設進行一些簡單的性能對比測試。
本文所演示的ARM平臺來自于Toradex?基于NXP iMX8QP ARM處理器的Apalis iMX8QP ARM嵌入式平臺。
2).準備
a).?Apalis iMX8QP?ARM核心版配合Ixora?載板,連接調試串口UART1(載板X22)到開發主機方便調試。
b). Apalis iMX8?核心板安裝Toradex Ycoto Linux Console image V3.04版本,詳細信息請參考這里。
c).?測試設備:
./ Apalis iMX8QP?核心板板載Micron 16GB eMMC存儲
./ Kingston 240G SATA 3.0 mSATA?存儲
./ Toshiba 64GB USB 3.0 USB存儲盤
./ Kingston 8GB SDHC 4 Micro SD存儲盤
3).測試流程
a).?測試工具軟件
./?讀測試:hdparm?和?dd?工具,都是系統自帶的
./?寫測試:dd工具,系統自帶
b). Apalis iMX8QP核心板自帶eMMC測試
./?讀性能?– hdparm測試
---------------------------------
root@apalis-imx8:~# hdparm -tT --direct /dev/mmcblk0
/dev/mmcblk0:
Timing O_DIRECT cached reads:?? 326 MB in? 2.00 seconds = 162.78 MB/sec
Timing O_DIRECT disk reads: 488 MB in? 3.00 seconds = 162.59 MB/sec
---------------------------------
hdparm讀測試性能為?162MB/s
./?寫測試?– dd測試,先將緩存全部寫入磁盤,然后開始完成數據寫入(5000MB數據)并寫入磁盤的操作,避免系統緩存的干擾
---------------------------------
root@apalis-imx8:~# sync;time -p bash -c "(dd if=/dev/zero bs=1M count=5000 of=/home/root/test.file;sync)"
5000+0 records in
5000+0 records out
real 115.24
user 0.02
sys 30.49
---------------------------------
dd寫測試性能為43MB/s
./?讀測試?– dd測試,先清空緩存,再讀取剛寫測試寫入的文件
---------------------------------
root@apalis-imx8:~# echo 3 > /proc/sys/vm/drop_caches ;time dd if=/home/root/test.file of=/dev/null bs=1M
[12721.556361] sh (4312): drop_caches: 3
5000+0 records in
5000+0 records out
real??? 0m24.649s
user??? 0m0.013s
sys???? 0m7.882s
---------------------------------
dd讀測試性能為203MB/s
c). mSATA存儲測試
./?讀性能?– hdparm測試
---------------------------------
root@apalis-imx8:~# hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads:?? 536 MB in? 2.00 seconds = 267.78 MB/sec
Timing O_DIRECT disk reads: 834 MB in? 3.00 seconds = 277.81 MB/sec
---------------------------------
hdparm讀測試性能為?278MB/s
./?寫測試?– dd測試,首先確保mSATA磁盤分區為Linux EXT3分區而不是FAT32分區,避免4GB文件容量限制;然后寫入20000MB數據進行測試
---------------------------------
root@apalis-imx8:~# sync;time -p bash -c "(dd if=/dev/zero bs=1M count=20000 of=/media/sda1/test.file;sync)"
20000+0 records in
20000+0 records out
real 166.53
user 0.10
sys 136.55
---------------------------------
dd寫測試性能為120MB/s
./?讀測試?– dd測試,先清空緩存,再讀取剛寫測試寫入的文件
---------------------------------
root@apalis-imx8:~# echo 3 > /proc/sys/vm/drop_caches ;time dd if=/media/sda1/test.file of=/dev/null bs=1M
[ 1451.601563] sh (4302): drop_caches: 3
20000+0 records in
20000+0 records out
real??? 1m11.699s
user??? 0m0.077s
sys???? 0m43.444s
---------------------------------
dd讀測試性能為279MB/s
d). USB 3.0磁盤測試
./?讀性能?– hdparm測試
---------------------------------
root@apalis-imx8:~# hdparm -tT --direct /dev/sdb
/dev/sdb:
Timing O_DIRECT cached reads:?? 164 MB in? 2.01 seconds =? 81.47 MB/sec
Timing O_DIRECT disk reads: 230 MB in? 3.01 seconds =? 76.29 MB/sec
root@apalis-imx8:~# hdparm -tT --direct /dev/sdb
---------------------------------
hdparm讀測試性能為?76MB/s
./?寫測試?– dd測試,FAT32分區,寫入3000MB數據進行測試
---------------------------------
root@apalis-imx8:~# sync;time -p bash -c "(dd if=/dev/zero bs=1M count=3000 of=/media/sdb1/test.file;sync)"
3000+0 records in
3000+0 records out
real 207.67
user 0.00
sys 24.04
---------------------------------
dd寫測試性能為14MB/s
./?讀測試?– dd測試,先清空緩存,再讀取剛寫測試寫入的文件
---------------------------------
root@apalis-imx8:~# echo 3 > /proc/sys/vm/drop_caches ;time dd if=/media/sdb1/test.file of=/dev/null bs=1M
[ 3962.950390] sh (4302): drop_caches: 3
3000+0 records in
3000+0 records out
real??? 0m35.672s
user??? 0m0.028s
sys???? 0m7.581s
---------------------------------
dd讀測試性能為84MB/s
e). SD Memroy Card測試
./?讀性能?– hdparm測試
---------------------------------
root@apalis-imx8:/# hdparm -tT --direct /dev/mmcblk1
/dev/mmcblk1:
Timing O_DIRECT cached reads:??? 44 MB in? 2.04 seconds =? 21.60 MB/sec
Timing O_DIRECT disk reads:? 66 MB in? 3.03 seconds =? 21.77 MB/sec
---------------------------------
hdparm讀測試性能為?22MB/s
./?寫測試?– dd測試,FAT32分區,寫入3000MB數據進行測試
---------------------------------
root@apalis-imx8:/# sync;time -p bash -c "(dd if=/dev/zero bs=1M count=3000 of=/media/mmcblk1p1/test.file;sync)"
3000+0 records in
3000+0 records out
real 564.41
user 0.02
sys 35.04
---------------------------------
dd寫測試性能為5MB/s
./?讀測試?– dd測試,先清空緩存,再讀取剛寫測試寫入的文件
---------------------------------
root@apalis-imx8:/# echo 3 > /proc/sys/vm/drop_caches ;time dd if=/media/mmcblk1p1/test.file of=/dev/null bs=1M
[ 1638.664693] sh (4292): drop_caches: 3
3000+0 records in
3000+0 records out
real??? 2m29.023s
user??? 0m0.011s
sys???? 0m5.625s
---------------------------------
dd讀測試性能為20MB/s
4).測試結果
a).?表格
hdparm讀測試(MB/s)dd讀測試(MB/s)dd寫測試(MB/s)
板載Micron 16GB eMMC存儲16220343
Kingston ? 240G SATA 3.0 mSATA?存儲278279120
Toshiba ? 64GB USB 3.0 USB存儲盤768414
Kingston ? 8GB SDHC 4 Micro SD存儲盤22205
b).?柱狀圖
5).總結
本文基于NXP iMX8產品測試了包括eMMC、SATA、USB、SD存儲外設性能供參考,由于存儲設備的傳輸速率受接口協議,容量,測試工具軟件,系統總線等眾多因素影響,本文測試數據僅供橫向對比參考,不能作為相應接口傳輸標準判定。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的linux 定时器中断 imx,NXP iMX8 存储性能测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下的arm仿真,使用QEMU仿
- 下一篇: 农行静态聚合码限额是多少