如何使用Swap来扩充内存

  • 您好,Swap 扩容内存仅支持 ext4 格式的文件系统,也就是目前仅支持 SD 卡进行Swap 扩充内存,相关命令如下

    Code: Select all

    fallocate -l 1G /swapfile
    chmod 600 /swapfile
    mkswap /swapfile >/dev/null
    swapon /swapfile >/dev/null
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab >/dev/null
    
  • 您好,感谢您的回复
    我想问下,如果我启用了Swap,系统会在什么时候启动这块交换内存呢,比如内存只剩10%或20%,这样哪里可以设置,默认是多少的?
    期待您的回复
  • 使用

    Code: Select all

     cat /proc/sys/vm/swappiness
    
    可以看到默认值60,内存使用超过40%系统就会开始调配使用 swap 分区,可以通过

    Code: Select all

     echo xxx >  /proc/sys/vm/swappiness
    
    进行设置,范围0~100 设置为0时系统会尽量不使用swap分区
  • 您好,再次感谢您的回复,
    对于您所说的【Swap 扩容内存仅支持 ext4 格式的文件系统】,这里的意思是需要把SD卡格式成ext4?
    还是说需要把linux的根文件系统改成ext4才能使用swap?
  • 使用 SD 卡默认使用的就是 ext4 格式,不需要额外修改。更正一下说法 "Swap 扩容内存仅支持 ext4 格式的文件系统" 仅针对 Luckfox Lyra 而言,Luckfox Lyra 使用两种文件系统 SPI nand 用 ubifs ,SD 卡以及 Ultra 的 eMMC 使用 ext4,其他像ext2/ext3 和 F2FS 理论上也支持 SWAP 扩展内存,只是没有在Luckfox Lyra 上实测过
  • 感谢您的回复,
    我这边如果使用SPI nand 的 ubifs,然后插入一张格式化ext4的SD,再SD里分出1G做Swap,可以把Swap使用起来吗?
    还是说ubifs就是不支持的,只能使用SD卡作为系统盘的情况?
  • SPI NAND 启动是ubifs,不支持swap。SD卡启动是ext4,才能支持swap。
    可以自己查阅下相关资料,工程师时间有限没办法一一回答清楚,感谢您的理解!