OpenWRT 扩充 overlay 软件包安装空间及添加 Swap 交换空间

      OpenWRT 扩充 overlay 软件包安装空间及添加 Swap 交换空间已关闭评论

查看磁盘分区情况及使用空间,对剩余空间进行分区,记录 fdisk 及磁盘操作的几个常用命令,可以把系统没有使用的剩余空间进行分区用来作为 overlay 扩容以及配置 Swap 交换磁盘区或者交换文件, OpenWRT 扩充 overlay 软件包安装空间及添加 Swap 交换空间 记录如下

使用我的引荐链接购买特斯拉Tesla产品可获得积分,用于兑换超级充电里程、服饰精品、车辆配件等奖品,点击此处前往官方了解详情。
$ fdisk /dev/sda
Command (m for help): p #查看磁盘情况
Command (m for help): n #新建分区
Command (m for help): d #删除分区
Command (m for help): w #将分区写入磁盘
CTl+z退出

# 若磁盘空间剩余比较多,可以分为两个区,一个用来扩容overlay,一个用来作为swap交换分区
$ mkfs.ext4 /dev/sda3          #格式化新建的分区为ext4格式
$ mkswap /dev/sda4             #格式化新建的sda4分区为swap交换区格式
$ mount /dev/sda3 /mnt/sda3    #挂载新建的分区
$ umount /dev/sda3  /mnt/sda3  #若已经挂载无法格式化,则用此命令取消挂载

格式化以后可以在 openwrt 后台:系统>挂载点 根据用途进行手动挂载,若挂载点选择:作为外部 overlay 使用,则可以作为软件包安装空间,系统自带的一般只有100多M不够用,在挂载之前需要先进行以下设置:

$ cp -r /overlay/* /mnt/sda3  #把之前 overlay 目录下的所有文件夹及文件拷贝到新挂载的分区

挂载时在高级设置的文件系统选择squashfs,因为如果不用squash格式,而使用ext4的格式,那么重新刷写完系统以后不具备重置能力,因为ext4是沒有overlay机制的

最后重启 OpenWRT ,再进入:系统>软件包,即可看到空闲空间已经增加很多,可以放心安装各种插件了,以上内容参考达人教程

OpenWRT 设置及添加 Swap 临时文件,创建的 Swap 交换分区或者 swapfile 临时文件最好大于等于内存大小

创建 Swap 文件

$ dd if=/dev/zero of=/swapfile bs=1G count=2  #创建2G大小的Swap文件,of=文件位置
2+0 records in
2+0 records out

格式化 Swap 交换文件

$ mkswap /swapfile

加载 Swap 交换文件

$ swapon /swapfile

设置 Swap 交换文件的权限

$ chmod 0600 /swapfile
$ chown root:root /swapfile  #若不是root用户创建,需要把权限收回给root

在引导时启用交换文件,重启后会自动启用新的交换文件

$ vi /etc/fstab   #在此文件中加入以下内容
/swapfile swap swap defaults 0 0

查看和验证交换文件是否激活

$ free -h

修改 Swap 使用参数

什么时候使用 Swap 交换空间是由 swappiness 参数值控制,可以根据需要对此参数进行修改,默认值为60

$ cat /proc/sys/vm/swappiness  #查看swappiness参数
60
  • 该值默认值是60
  • swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间
  • swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面

临时性修改 swappiness 参数值,这样修改可以生效,但是重启系统又会变成60

$ sysctl vm.swappiness=10
vm.swappiness = 10
$ cat /proc/sys/vm/swappiness
10

永久修改 swappiness 参数值,可以用 vi 命令编辑/etc/sysctl.conf文件,在文件里添加如下参数:

vm.swappiness=10

或者使用如下命令直接写入

$ echo 'vm.swappiness=10' >>/etc/sysctl.conf

保存,重启,就生效了

删除 Swap 交换文件

$ swapoff -v /swapfile  #先禁用交换文件
$ vi /etc/fstab         #删除添加的Swap条目
$ rm /swapfile          #删除交换文件