Linux 平台下zRAM 和 swap 使用(内存交换)
当内存不足时,linux 系统可以向ROM 要空间给内存使用,zram 和 swap 可以完成该功能。
zram: 是把物理内存的一部分划分出来,把不是常用的内存数据压缩后放到zram里, 用到的时候把数据解压出来, 相当于牺牲了一些cpu效率,变相增大了内存。
磁盘 swap:是把磁盘的一部分作为内存, 对应用来说完全是透明的,相当与增大了内存, 但是缺点很明显, 当用到swap的时候,速度会变的很慢。
查看设备是否支持ZRAM
cd /dev/block/ 下, 看是否有zram0 或zram1。如果没有该文件则表明内核没有打开ZRAM选项或者是不支持ZRAM功能
M 平台开启下zRam 使用方法
- 1.kernel 下,打开zram
+ CONFIG_ZSMALLOC=y+ CONFIG_ZRAM=y+ CONFIG_ZRAM_DEBUG=y
开启三个宏,打开M平台的zRam 功能,其它平台更多zram开关参考:
https://blog.csdn.net/qq_22182835/article/details/83117043
- android device下,fstab.xxx 设置属性和大小
+/dev/block/zram0 none swap defaults zramsize=104857600
在fstab.xxx 文件中,添加/dev/block/zram0 节点,并设置属性及节点文件大小,选项类似大体类似其它的system,boot分区
- android device下,init.xxxx.rc 脚本设置属性
on fs+ write /proc/sys/vm/page-cluster 0+ swapon_all /fstab.xxx
设置page-cluster 属性,挂载分区。修改完成后,重新编译code ,顺兴boot.img 分区。验证办法:busybox free可以看到swap size
文件作为SWAP分区
1.创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
# dd if=/dev/zero of=/root/swapfile bs=1M count=10242.格式化为交换分区文件:
# mkswap /root/swapfile #建立swap的文件系统3.启用交换分区文件:
# swapon /root/swapfile #启用swap文件4.使系统开机时自启用,在文件/etc/fstab中添加一行:
/root/swapfile swap swap defaults 0 0
快捷脚本
#!/system/bin/sh#SWAP_FILE=“/data/swap1”if [ ! -f “/data/swap1” ]; then
dd if=/dev/zero of=/data/swap1 bs=390250 count=256
fibusybox 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分区
步骤如下:
a 使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)b 使用 mkswap 命令来设置交换分区:# mkswap /dev/sdb2c 启用交换分区:# swapon /dev/sdb2d 写入/etc/fstab,以便在引导时启用:/dev/sdb2swap swap defaults 0 0
查看SWAP空间大小
# free-m
默认单位为k, -m 单位为Mtotal used free shared buffers cachedMem: 377 180 197 0 19 110-/+buffers/cache: 50 327Swap: 572 0 572
查看SWAP空间信息
包括 文件 和 分区 的详细信息# swapon -s等价于# cat /proc/swaps
引用链接:
https://blog.csdn.net/qq_22182835/article/details/83117043
https://www.cnblogs.com/wuxie1989/p/5888595.html
https://blog.csdn.net/wj78080458/article/details/83532798
https://blog.csdn.net/xinyuanqianxun1987/article/details/52065786
Linux 平台下zRAM 和 swap 使用(内存交换)相关推荐
- linux平台下QtCreator中集成Valgrind系列工具
linux平台下QtCreator中集成Valgrind系列工具 ###1.valgrind 安装 valgrind 安装 2.打开QtCreator >> Analyze 你就会发现 这 ...
- linux sybase 自动备份,Linux平台下Sybase数据库备份方法分析.doc
Linux平台下Sybase数据库备份方法分析 Linux平台下Sybase数据库备份方法分析 摘 要:对于从事信息系统管理的人员来说,掌握数据库的备份方法在工作中尤为重要.当本地数据出错或者磁盘损坏 ...
- linux上备份sybase,Linux平台下Sybase数据库备份的方法分析
龙源期刊网 http://doc.xuehai.net Linux平台下Sybase数据库备份的方法分析 作者:刘君尧王辉静刘云霞 来源:<无线互联科技>2018年第01期 摘要:对于从事 ...
- Linux 平台下PCI 接口视频采集卡的驱动程序编写技术
转自http://publishblog.blogchina.com/blog/tb.b?diaryID=2424186 Linux 平台下PCI 接口视频采集卡的驱动程序编写技术 李根深 邢汉承 0 ...
- Linux平台下QtCreator集成代码静态分析工具clang-tidy和Clazy
Linux平台下QtCreator集成代码静态分析工具clang-tidy和Clazy 原文连接: https://blog.csdn.net/wsj18808050/article/details/ ...
- linux oraclerman自动备份,Linux平台下的Oracle自动备份案例(使用RMAN)
有个童鞋问rman的自动备份脚本程序,我之前有写过exp备份指定方案自动备份案例(Linux平台下的Oracle自动备份案例(使用exp工具) http://www.linuxidc.com/Lin ...
- Linux平台下Eclipse的安装
Linux平台下Eclipse的安装(2007-06-26 09:50:22) 分类:他山之石 Linux平台下Eclipse的安装 Linux平台下Eclipse的安装2007年06月15日 星 ...
- Linux平台下Ntop流量监测安装,并实现Netflow全过程
Linux平台下Ntop流量监测安装,并实现Netflow全过程 更多原创教学视频详见: http://you.video.sina.com.cn/m/1443650204
- linux定时任务每小时_在Linux平台下每5、10或15分钟执行一次定时任务(Cron Job)...
本文介绍如何在Linux平台下每5.10或15分钟运行一次cron命令,即执行一次定时任务(Cron Job). 前言 Cron job是按指定间隔执行的任务,可以将任务安排为按分钟,小时,每月的某天 ...
最新文章
- BigDecimalf大小的比较
- 单片机定时报警C语言程序,51单片机 定时器 中断程序 (C语言)
- 项目优化经验——垃圾回收导致的性能问题
- wordpress插件feed count中文版
- python 传不定量参数_Python中的定量金融
- azure git怎么使用_使用GitOps管理您的Kubernetes集群
- Ubuntu通过vnc连接Windows主机的问题解决
- cvAddWeighted 进行图片融合
- 8个免费查找文献的学术网站
- 记一次幸运的拼多多Web前端面试(一面+二面+hr面)
- 停下来想一想:你为什么会离开游戏行业?
- 机器人正向运动学和D-H参数方法
- Web指纹识别技术研究与优化实现(CMS)
- JavaFx-桌面应用开发利器(二)基础架构篇
- js获取某一天是星期几
- win10扬声器红叉_刚装了win10 小扬声器红叉没声音
- 67 step to success
- SD省队集训2019Day11之“loopy”
- 紧跟热点:爱乐活联合Qzone推出《舌尖上的中国菜》
- C语言花样霓虹灯程序,LM4229显示屏的单片机按键控制多种花样霓虹灯设计报告与源码...