查看磁盤容量與分區信息
通過 fdisk -l 命令可以查詢到 eMMC 分區信息及容量。
root@myir-yg2lx:~# fdisk -l
Disk /dev/mtdblock0: 512 KiB, 524288 bytes, 1024 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mtdblock1: 256 KiB, 262144 bytes, 512 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mtdblock2: 256 KiB, 262144 bytes, 512 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mtdblock3: 16 MiB, 16777216 bytes, 32768 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mmcblk0: 7.29 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x326d86a0
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 20480 122879 102400 50M c W95 FAT32 (LBA)
/dev/mmcblk0p2 122880 15269887 15147008 7.2G 83 Linux
我拿到的開發板是8G的eMMC固態硬盤,共有兩個分區:
/dev/mmcblk0p1 :用來存放 kernel 和 dtb 文件
/dev/mmcblk0p2 :用來存放文件系統
這里/dev/mmcblk0p1 起始在 20480 塊開始,前面還保存著 bootloader 和分區表的信息。
查看 eMMC 分區信息
通過 df 命令可以查詢到 eMMC 分區信息,使用情況,掛載目錄等信息。
root@myir-yg2lx:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 6.8G 1.5G 5.0G 23% /
devtmpfs 235M 0 235M 0% /dev
tmpfs 428M 0 428M 0% /dev/shm
tmpfs 428M 9.9M 419M 3% /run
tmpfs 428M 0 428M 0% /sys/fs/cgroup
tmpfs 428M 0 428M 0% /tmp
tmpfs 428M 36K 428M 1% /var/volatile
tmpfs 86M 0 86M 0% /run/user/0
/dev/mmcblk0p1 50M 23M 27M 46% /mnt
- /dev/root : 根文件系統,掛載到根目錄下
- tmpfs: 內存虛擬文件系統,掛載到不同的目錄下
- devtmpfs :用于系統創建 dev
- /dev/mmcblk0p1:用來存放 kernel 和 dtb 文件,如果默認不掛載上,則可以手動掛載上去查看
eMMC 的性能測試
性能測試主要測試 eMMC 在 linux 系統下對文件的讀寫速度,一般結合 time 與 dd雙命令進行測試。
- 寫文件測試
root@myir-yg2lx:~# time dd if=/dev/zero of=tempfile bs=1M count=100 conv=fdatasnc
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 4.20636 s, 24.9 MB/s
real 0m4.287s
user 0m0.009s
sys 0m0.643s
使用 dd 命令寫文件時,需要加 conv=fdatasync 參數,表示當 dd 寫 N 次結束之后,會 flush cache 同步到磁盤。因為對磁盤的寫一般是先寫到緩存還沒有寫到磁盤就返回了。這里測試出寫磁盤速度為 24.9MB/s。
- 讀文件測試
在嵌入式系統中,經常需要測試系統文件讀寫性能,讀文件時忽略 cache 的影響。這時可以指定參數 iflag=direct,nonblock。
root@myir-yg2lx:~# time dd if=tempfile of=/dev/null bs=1M count=100 iflag=direc,nonblock
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 2.28087 s, 46.0 MB/s
real 0m2.286s
user 0m0.008s
sys 0m0.090s
從上面的數據我們看到,從磁盤直接讀取速度為46MB/s.
審核編輯 黃宇
-
磁盤
+關注
關注
1文章
375瀏覽量
25201 -
開發板
+關注
關注
25文章
5032瀏覽量
97372 -
emmc
+關注
關注
7文章
203瀏覽量
52721
發布評論請先 登錄
相關推薦
評論