海思应用篇】-(9)创建swap分区
默认关闭
Swap的total是0,所以hi3516dv300默认是没有swap分区;
~ # free
total used free shared buff/cache available
Mem: 509720 153812 251776 276 104132 333928
Swap: 0 0 0
3.27.1 开启目的
为什么要开启swap分区呢?如果我们板子本身的内存较小,因为成本控制或者是集成式内存,硬件上无法扩大内存,那么我们可以开启swap分区。这样我们的程序如果感觉到有些卡(ui上能明显反应)就可以解决了。
3.27.2 开启准备
你的flash够大,且最好是spi-nand或者emmc;其次可以是sdcard;
3.27.3 TF卡分区规划
本章拿sdcard测试的
1 sdcard划分为2个区,第一个主分区为正常存储区(vfat),第二个主分区为swap区
2 swap区大小我划分为256MB大小;因为我的linux内存分配是128M,所以swap分配为2倍大小;可以更大或更小。创建swap步骤
3.27.3.1 sdcard分区
cd /
# 如果已挂载,取消挂载
umount /dev/mmcblk0p1
# 如果已有分区,且分配为整个卡的大小,先要删除分区
fdisk -l
fdisk /dev/mmcblk0
Command (m for help): d1
No partition is defined yet!
# 创建第一个主分区(vfat)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-19277, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-19277, default 19277): 10000
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (Win95 FAT32)
# 创建第二个主分区(swap)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (10001-19277, default 10001): Using default value 10001
Last cylinder or +size or +sizeM or +sizeK (10001-19277, default 19277): +256M
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table
mmcblk0: p1 p2
3.27.3.2 制作swap文件系统
# 制作swap文件系统
~ # mkswap /dev/mmcblk0p2
Setting up swapspace version 1, size = 256452608 bytes
UUID=2676daed-8fc5-47dd-a498-5f2757132690
3.27.3.3 开启swap
# 开启swap
~ # swapon /dev/mmcblk0p2
Adding 250440k swap on /dev/mmcblk0p2. Priority:-1 extents:1 across:250440k SS
3.27.3.4 查看swap
~ # cat /proc/swaps
Filename Type Size Used Priority
/dev/mmcblk0p2 partition 250440 0 -1
~ # free -m
total used free shared buffers cached
Mem: 119 9 109 0 0 1
-/+ buffers/cache: 8 111
Swap: 244 0 244
swap创建及开启成功!!!
3.27.4 问题
~ # swapon /dev/mmcblk0p2
swapon: /dev/mmcblk0p2: Function not implemented这是因为hi3516dv300默认不支持swap,我们要去内核中开启:
General setup —>
[*] Support for paging of anonymous memory (swap)
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:【海思应用篇】-(9)创建swap分区 https://www.yhzz.com.cn/a/14823.html