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