当内存不足时,linux 系统可以向ROM 要空间给内存使用,zram 和 swap 可以完成该功能。

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

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

查看设备是否支持ZRAM

cd /dev/block/ 下, 看是否有zram0 或zram1。如果没有该文件则表明内核没有打开ZRAM选项或者是不支持ZRAM功能

M 平台开启下zRam 使用方法

  1. 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

  1. android device下,fstab.xxx 设置属性和大小
+/dev/block/zram0 none swap defaults zramsize=104857600

在fstab.xxx 文件中,添加/dev/block/zram0 节点,并设置属性及节点文件大小,选项类似大体类似其它的system,boot分区

  1. 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 使用(内存交换)相关推荐

  1. linux平台下QtCreator中集成Valgrind系列工具

    linux平台下QtCreator中集成Valgrind系列工具 ###1.valgrind 安装 valgrind 安装 2.打开QtCreator >> Analyze 你就会发现 这 ...

  2. linux sybase 自动备份,Linux平台下Sybase数据库备份方法分析.doc

    Linux平台下Sybase数据库备份方法分析 Linux平台下Sybase数据库备份方法分析 摘 要:对于从事信息系统管理的人员来说,掌握数据库的备份方法在工作中尤为重要.当本地数据出错或者磁盘损坏 ...

  3. linux上备份sybase,Linux平台下Sybase数据库备份的方法分析

    龙源期刊网 http://doc.xuehai.net Linux平台下Sybase数据库备份的方法分析 作者:刘君尧王辉静刘云霞 来源:<无线互联科技>2018年第01期 摘要:对于从事 ...

  4. Linux 平台下PCI 接口视频采集卡的驱动程序编写技术

    转自http://publishblog.blogchina.com/blog/tb.b?diaryID=2424186 Linux 平台下PCI 接口视频采集卡的驱动程序编写技术 李根深 邢汉承 0 ...

  5. Linux平台下QtCreator集成代码静态分析工具clang-tidy和Clazy

    Linux平台下QtCreator集成代码静态分析工具clang-tidy和Clazy 原文连接: https://blog.csdn.net/wsj18808050/article/details/ ...

  6. linux oraclerman自动备份,Linux平台下的Oracle自动备份案例(使用RMAN)

    有个童鞋问rman的自动备份脚本程序,我之前有写过exp备份指定方案自动备份案例(Linux平台下的Oracle自动备份案例(使用exp工具)  http://www.linuxidc.com/Lin ...

  7. Linux平台下Eclipse的安装

    Linux平台下Eclipse的安装(2007-06-26 09:50:22)   分类:他山之石 Linux平台下Eclipse的安装 Linux平台下Eclipse的安装2007年06月15日 星 ...

  8. Linux平台下Ntop流量监测安装,并实现Netflow全过程

    Linux平台下Ntop流量监测安装,并实现Netflow全过程 更多原创教学视频详见: http://you.video.sina.com.cn/m/1443650204

  9. linux定时任务每小时_在Linux平台下每5、10或15分钟执行一次定时任务(Cron Job)...

    本文介绍如何在Linux平台下每5.10或15分钟运行一次cron命令,即执行一次定时任务(Cron Job). 前言 Cron job是按指定间隔执行的任务,可以将任务安排为按分钟,小时,每月的某天 ...

最新文章

  1. BigDecimalf大小的比较
  2. 单片机定时报警C语言程序,51单片机 定时器 中断程序 (C语言)
  3. 项目优化经验——垃圾回收导致的性能问题
  4. wordpress插件feed count中文版
  5. python 传不定量参数_Python中的定量金融
  6. azure git怎么使用_使用GitOps管理您的Kubernetes集群
  7. Ubuntu通过vnc连接Windows主机的问题解决
  8. cvAddWeighted 进行图片融合
  9. 8个免费查找文献的学术网站
  10. 记一次幸运的拼多多Web前端面试(一面+二面+hr面)
  11. 停下来想一想:你为什么会离开游戏行业?
  12. 机器人正向运动学和D-H参数方法
  13. Web指纹识别技术研究与优化实现(CMS)
  14. JavaFx-桌面应用开发利器(二)基础架构篇
  15. js获取某一天是星期几
  16. win10扬声器红叉_刚装了win10 小扬声器红叉没声音
  17. 67 step to success
  18. SD省队集训2019Day11之“loopy”
  19. 紧跟热点:爱乐活联合Qzone推出《舌尖上的中国菜》
  20. C语言花样霓虹灯程序,LM4229显示屏的单片机按键控制多种花样霓虹灯设计报告与源码...

热门文章

  1. SQL 将多个通过筛选得到的数据相加
  2. win10开机就黑屏,等近一分钟左右才显示桌面的解决方法
  3. JavaScript 变速动画封装
  4. android左右声道接反具体修正方法
  5. 【微信小程序封装底部弹出框二】
  6. 简易五子棋AI权值法(2)
  7. vs 输入代码时出现火花_电火花习题讲解
  8. ps校色调色/通道抠图
  9. docker + redis 配置主从
  10. python构建知识图谱_NLP第20课:Neo4j 从入门到构建一个简单知识图谱