【海思应用篇】-(9)创建swap分区

xclshwd 2020-08-30 11:31:00 2175
海思应用篇】-(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)

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
xclshwd
红包 2 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
xclshwd
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区