磁盘swap 与 zram swap

磁盘 swap:是把磁盘的一部分作为内存, 对应用来说完全是透明的,相当与增大了内存, 但是缺点很明显, 当用到swap的时候,速度会变的很慢。

zram: 是把物理内存的一部分划分出来,把不是常用的内存数据压缩后放到zram里, 用到的时候把数据解压出来, 相当于牺牲了一些cpu效率,变相增大了内存。


如果设备支持zram,肯定是优先使用zram, 不过有的设备内核比较旧,只有使用磁盘 swap了。

查看设备是否zram的方法:

adb到设备中shell中, cd /dev/block/ 下, 看是否有zram0 或zram1

如果没有该文件,也不一定是设备不支持zram, 也有可能是内核中没有把zram选项勾中,可以到内核源码中搜索 zram



下面是曾经写的一个脚本: 使用磁盘swap

#!/system/bin/sh

#SWAP_FILE="/data/swap1"

if [ ! -f "/data/swap1" ]; then
dd if=/dev/zero of=/data/swap1 bs=390250 count=256
fi

busybox mkswap /data/swap1 
busybox swapon -p 0 /data/swap1 

echo 0 >/proc/sys/vm/swappiness
cat /proc/sys/vm/swappiness 

busybox free -m


/proc/sys/vm/swappiness 里的值代表使用swap的优先级, 0 就是不用, 100代表最大程度的使用


更新==========================================================

如果你想知道当前swap用的是哪个路径的swap文件,

cat /proc/swap就可以知道 ^_^

你可能感兴趣的:(swap,zram)