首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

zram.txt

前言 zram是基于内存压缩的块设备,怎么理解,假设我们申请一个1G的zram块设备,这个块设备并没有实际的物理存储区域,是用内存模拟的,当一个128MB的文件被写入到zram的块设备,这个文件会被经过...zram设备 a)使用zramzram_control的sysfs属性 b)使用zramctl工具,由util-linux (util-linux@vger.kernel.org)提供 这个文档中,...我们将会只描述手动zram的配置的步骤,IOW,zramzram_control sysfs的属性 为了获得更好关于zramctl的建议,请咨询util-linux文档,zramctl的man-page...请注意,zram维护人员不开发/维护util-linux或zramctl,如果你 有任何疑问,请联系util-linux@vger.kernel.org 以下展示了使用zram的典型使用步骤 温馨提示.../dev/zram0 swapon /dev/zram0 //格式化成ext4,挂载到/tmp mkfs.ext4 /dev/zram1 mount /dev/zram1 /

3.2K30

Jetson 中的 Zram 源码详解(2)

在上一篇 《Jetson 中的 zram 技术详解》中已经介绍了相关 Zram 的技术部分以及如何在 Jetson 设备上使用 Zram,本篇文章将着重介绍下 Linux 内核中关于 Zram...1、源码下载 github 上的地址:https://github.com/torvalds/linux/tree/master git clone 下载地址:https://github.com/torvalds.../linux.git 这里在 gitcode 上搜索了下,fork 过来的项目也基本是没有维护了,如果不能在 github 上下载,只能自行解决网络问题了; 下载完成之后,通过 VSCODE 打开文件目录...,找到 zram 目录; linux/drivers/block/zram 这个是最新的 master 分支的代码,如果需要查看指定内核版本的代码,可以切换到指定版本,这里我将内核代码切换到和当前使用的版本...(v5.10)一致的代码; 在 github 上的目录信息: 整个 zram 的代码不算很多,下面对源码进行详细的分析; 2、源码分析 2.1 zram_drv.c zram 作为一个块设备,详细解析下这个块设备驱动的源码

13010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Jetson 中的 Zram 技术详解(1)

    ,将内存中暂时不用的数据存放到交换分区中;这个 swap 分区在 Jetson 刷机教程中磁盘格式化中已经设置过; 首先,Zramlinux 内存子系统(mm)中,内存支持的压缩三个组件之一...;其他的两个分别是 zcache 和 zswap;这里就先不发散了,只介绍 Zram 相关的技术,其他的两个感兴趣的也可以自己去研究下; Zram 是在 2014年 Linux 3.14 内核版本开始支持的...Linux 中的 Swap 的优先级能力,将 Zram 作为更高优先级 Swap 看待,由于这一运行机制,实际上 Zram 的设计可以比较灵活和简单,内存交换策略交给内存子系统处理,压缩算法交给压缩库...【Jetson 中的 Zram 源码详解(2)中会讲解源码部分】 二、Zram 使用 2.1 Zram 环境信息 1)查看 Jetson 设备是否支持 zram,需要我们的盒子上的运行的 内核版本大于...的块设备信息了;到此时,只是配置了 zram 的块设备,还需要将 zram 配置成 swap; 4)配置 Zram 为 swap; mkswap /dev/zram0 swapon /dev/zram0

    17010

    ArchLinux下设置交换空间

    简介 Linux 将物理内存分为内存段,叫做页面。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放这份内存页面。物理内存和交换空间的总大小是可用的虚拟内存的总量。...用户可以在安装 Arch Linux 的时候创建交换空间,或者在安装后的任何时间建立交换空间。交换空间可用于两个目的: 将虚拟内存扩大到超过已安装的物理内存的容量。 用于支持系统休眠。...交换分区 交换分区可以用大多数 GNU/Linux 分区工具(例如 fdisk, cfdisk 或图形化工具 GParted) 创建。...swapfile none swap defaults 0 0 最后,如果确定交换文件 /swapfile 不 再使用,也可以删除: sudo rm -f /swapfile 3.2 自动方式 Linux...3.2.1 zram-generator zram-generator 项目使用 Rust 编写,主要用于创建 zram 设备,即在内存中划分出一个或多个交换分区,用于缓存压缩后的页面。

    2.8K20

    Zram idle page writeback在android 中应用

    为了更好的性能和节省更多的成本,ZRAM 来了。zram page writeback也来了。 ZRAM RAM是最快的内存类型,但是通常大小有限。高端设备通常具有最大数量的RAM。...zRAM是用于交换空间的RAM的分区。将所有内容放入zRAM时都将进行压缩,然一般是3:1。然后系统再从zRAM中其解压缩如果需要用到相关的page。...ZRAM _write Back ZRAM 中有许多空闲页面,这些页面很少被使用,ZRAM 也占用了物理内存 这部分idle 的页面也是一种浪费。...然而 linux kernel 把相关的权限赋予了系统。只暴露了相关的节点。 backing_dev://zram 写到storge的地址。...ro.zram.mark_idle_delay_mins: The time in minutes after boot up when the tracking of idle pages in zram

    1.5K10

    搭建和部署GitLab代码托管平台,自己的CICD堡垒

    准备工具首先看看需要准备的工具,其实工具很简单:服务器: Linux服务器最好,个人推荐Debian系列的;2023年了,不再推荐使用CentOS;Docker: 容器自然不必说。...GitLab推荐使用8G内存以上的配置;如果你的Linux配置没有达到这个配置,4G以上可以还可以冲一下,但是不能安装其他的容器或者应用了,并且开启ZRAM,避免内存溢出。...于是,我们在部署前,打开系统的ZRAM。...因为使用的腾讯云Lighthouse的Debian系统,所以直接使用apt软件包管理器:# 安装zram-tools直接对zram进行管理sudo apt install zram-toolszram-tools...添加阿里仓库访问密钥sudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://mirrors.aliyun.com/docker-ce/linux

    4K31

    一文读懂|zRAM 内存压缩机制

    Linux 内核提供 swap 机制来解决内存不足的情况,其原理是: 当系统内存不足时,内核会将进程不常用的内存交换(写入)到磁盘中,然后将这些内存归还给系统,系统可以将这些内存继续分配给其他需要使用内存的进程...在 Linux-3.14 引入了一种名为 zRAM 的技术,zRAM 的原理是:将进程不常用的内存压缩存储,从而达到节省内存的使用。...创建 zRAM 块设备 要启用 zRAM,首先需要创建 zRAM 块设备。...要创建 zRAM 块设备,可以使用以下命令: modprobe zram num_devices=1 num_devices 参数可以指定创建 zRAM 块设备的个数,上面命令创建了一个 zRAM 块设备...zRAM实现 zRAM 块设备驱动的实现代码主要在 drivers/block/zram/zram_drv.c 文件中,下面我们主要围绕此文件进行分析。

    2.4K20

    【玩转幻兽帕鲁】手动配置虚拟内存或Swap、Zram

    收到大量玩家反馈,开服后在进行一段时间的游戏后会出现内存溢出导致异常退出游戏的情况,这里为大家提供一些缓解内存不足的方案作参考:配置Windows服务器虚拟内存、配置Linux服务器Swap、配置Linux...服务器Zram。...为 Linux 服务器配置 Zram Zram(也称为压缩内存块设备)是Linux内核中的一个功能,用于提供虚拟内存的压缩和解压缩功能。...配置了 Zram 之后,服务器内存配置不变的情况下,可承载的人数或持续运行的时间均有一定程度的提升。...我们也为 Linux 服务器配置 Zram 提供了一键方式,登录 Linux 服务器后,复制并运行以下命令即可: sudo wget -O - https://pal-server-1251810746

    1.3K41

    腾讯云原生场景下内存多级卸载落地实践

    zram增强模块:per-cgroup zram priority、per-cgroup zram counter(raw、limit、usage)每个cgroup可以独立设置zram压缩登极,对于...● workingset refault重构与优化: ○ 对 Linux 内核中传统 LRU 长期使用的 Workingset Refault Distance 算法进行了重新优化设计,并成功将其与 MGLRU...zram增强 ZRAM Enhance基于上游 Object Cgroup API 实现,每个 Cgroup 提供了: ● 独立更改 ZRAM 压缩级别: /memory.zram.priority:每个...● 独立统计 ZRAM 压缩数据: /memory.zram.raw_in_bytes:以 Byte 为单位的换出到zram压缩前的数据大小 /memory.zram.usage_in_bytes:以...Byte 为单位的换出到zram压缩后的总数据大小 ● 限制 ZRAM 压缩量 /memory.zram.limit_in_bytes:以Byte为单位,限制本memcg换出到zram的总数据大小,超出这个限制后

    33610

    OpenCloudOS 内存多级卸载落地实践分享

    zram增强模块:per-cgroup zram priority、per-cgroup zram counter(raw、limit、usage)每个cgroup可以独立设置zram压缩等级,对于per-cgroup...●workingset refault重构与优化: ○对 Linux 内核中传统 LRU 长期使用的 Workingset Refault Distance 算法进行了重新优化设计,并成功将其与 MGLRU...zram增强ZRAM Enhance基于上游 Object Cgroup API 实现,每个 Cgroup 提供了:●独立更改 ZRAM 压缩级别:/memory.zram.priority...●独立统计 ZRAM 压缩数据:/memory.zram.raw_in_bytes:以 Byte 为单位的换出到zram压缩前的数据大小/memory.zram.usage_in_bytes...:以 Byte 为单位的换出到zram压缩后的总数据大小●限制 ZRAM 压缩量/memory.zram.limit_in_bytes:以Byte为单位,限制本memcg换出到zram的总数据大小

    38930

    OpenHarmony构建新的内存管理优化方案

    传统内存方案及管理机制在传统的Linux内存优化方案中,终端设备通常采用SWAP及ZRAM内存方案。...1.2 ZRAMZRAM即内存压缩技术,如图2所示,在系统的物理内存不足时,将系统物理内存的一部分划分出来作为ZRAM分区,然后把不常用的匿名页压缩后放到ZRAM分区里,相当于牺牲了一些CPU效率,以增大系统可用内存供当前运行的程序使用...等到需要使用时,再从ZRAM分区中将数据解压出来。...图2 ZRAM内存压缩技术虽然ZRAM在一定程度上增大了设备内用内存,但是如果没有合适的方式来对内存进行管理,负面影响也会非常明显,将会造成内存页频繁的压缩/解压缩,从而抢占正常业务的CPU时间,增加系统的功耗...2.2.1 定制的ZRAM和交换分区ESWAP结合内存压缩和内存交换技术,提供了自定义新增存储分区作为内存交换分区的能力,并在内核中创建了一个常驻进程ZSWAPD,用于将ZRAM压缩后的匿名页加密换出到

    15320

    我们离不开的 Linux 内核模块 | Linux 中国

    Linux 内核今年就要满 30 岁了! 如果你像我们一样对此特别重视,那么让我们本周用几个特别的文章来庆祝 Linux。 今天,我们先来看看来自社区对“你不能没有哪个 Linux 内核模块?...我最喜欢的是 zram 模块。它在内存中创建了一个压缩块设备,然后它可以作为交换分区使用。...在内存有限的情况下(例如,在虚拟机上),还有如果你担心频繁的 I/O 操作会磨损你的 SSD 或者甚至更糟糕的基于闪存的存储,那么使用基于 zram 的交换分区是非常理想的。...所以,对于那些让软盘磁带机在 1990 年代的 Linux 上工作的无名英雄,你真是太厉害了! — Jim Hall #8 嗯,这很简单。是 kvm 内核模块。...你的生活中不能没有什么 Linux 内核模块?

    2.4K31

    KSM技术分析

    前言: 先来回顾一下Linux平台上的节约内存的方案: swap:通过LRU淘汰掉掉一部分page,把这些page交换到磁盘上。...zram:内存压缩技术。通过压缩lzo算法把页面压缩,也可以节省一部分内存。...作者第一次知道zram是在Android中见到的,因为一般的手机使用的emmc flash,是有读写寿命的(作者看到过一份实验数据,某厂家的emmc在连续写入数据三天后,emmc就已经挂了),不能打开swap...代码: 代码路径:linux-4.0.4/mm/ksm.c 1,在linux-4.0.4/mm/madvise.c中, ?...后记: 作者第一次阅读ZRAM的代码的时候,就被惊讶到一次:原来还可以这么玩~ 后来看到KSM的时候,再次被惊讶到:原来还可以这么玩~ 只能说:别懈怠,技术的路上,不知道的还很多。

    2.4K81

    内存与IO的交换

    zRAM机制 不用swap分区,也可以用zRAM机制来缓解内存紧张: 从内存里拿出一段内存空间(compressed block),作为交换空间模拟硬盘的交换分区,用来交换匿名页,并且让kernel看到的物理内存大小不包括这段内存...而这段交换空间自带透明压缩功能,即交换到这块zRAM分区时,Linux会自动将这块匿名页压缩存放。...系统访问这块页面的内容时,产生page fault后从交换分区去拿,这时Linux给你透明解压再交换出来。...使用zRAM的好处,就是访存比访问硬盘或flash的速度提高很多,且不用考虑寿命问题,并且由于这段内存是压缩后存储的,因此可以存更多的数据,虽然占用了一段内存,但实际可以存更多的数据,也达到了增加内存的效果...Android里面普遍使用了zRAM技术,由于zRAM牺牲了CPU时间,所以交换次数还是越少越好。像Android和windows,内存越大越好,因为发生交换的几率就小。

    2.7K31

    内存与IO的交换【转】

    zRAM机制 不用swap分区,也可以用zRAM机制来缓解内存紧张: 从内存里拿出一段内存空间(compressed block),作为交换空间模拟硬盘的交换分区,用来交换匿名页,并且让kernel看到的物理内存大小不包括这段内存...而这段交换空间自带透明压缩功能,即交换到这块zRAM分区时,Linux会自动将这块匿名页压缩存放。...系统访问这块页面的内容时,产生page fault后从交换分区去拿,这时Linux给你透明解压再交换出来。...使用zRAM的好处,就是访存比访问硬盘或flash的速度提高很多,且不用考虑寿命问题,并且由于这段内存是压缩后存储的,因此可以存更多的数据,虽然占用了一段内存,但实际可以存更多的数据,也达到了增加内存的效果...Android里面普遍使用了zRAM技术,由于zRAM牺牲了CPU时间,所以交换次数还是越少越好。像Android和windows,内存越大越好,因为发生交换的几率就小。

    66520

    【3分钟开服】幻兽帕鲁服务器一键部署保姆教程(持续更新)

    Linux 操作系统 1、参考本教程前面的登录服务器步骤,登录Linux服务器后,复制并执行以下命令为配置文件增加权限,避免后续步骤中由于权限问题导致无法编辑。...服务器Zram、配置Linux服务器Swap 2、设置自动重启以清理内存 为 Windows 服务器配置虚拟内存 本小节以 Windows Server 2022 为例,其他版本的 Windows 操作系统类似...为 Linux 服务器配置 Zram Zram(也称为压缩内存块设备)是Linux内核中的一个功能,用于提供虚拟内存的压缩和解压缩功能。...配置了 Zram 之后,服务器内存配置不变的情况下,可承载的人数或持续运行的时间均有一定程度的提升。...我们也为 Linux 服务器配置 Zram 提供了一键方式,登录 Linux 服务器后,复制并运行以下命令即可: sudo wget -O - https://pal-server-1251810746

    94030

    【玩转Lighthouse】10秒幻兽帕鲁游戏服务器部署保姆级教程(持续更新)

    服务器Zram、配置Linux服务器Swap 2、设置自动重启以清理内存 为 Windows 服务器配置虚拟内存 本小节以 Windows Server 2022 为例,其他版本的 Windows 操作系统类似...为 Linux 服务器配置 Zram Zram(也称为压缩内存块设备)是Linux内核中的一个功能,用于提供虚拟内存的压缩和解压缩功能。...配置了 Zram 之后,服务器内存配置不变的情况下,可承载的人数或持续运行的时间均有一定程度的提升。...我们也为 Linux 服务器配置 Zram 提供了一键方式,登录 Linux 服务器后,复制并运行以下命令即可: sudo wget -O - https://pal-server-1251810746....cos.accelerate.myqcloud.com/pal-server/Ubuntu/zram.sh|sh 配置成功的效果如下图所示。

    61910

    提升内存资源利用率,TencentOS“悟净”硬核技术详解

    以内存压缩 SWAP 设备 ZRAM 和高速 NVME 为例,在全页访问的模拟业务中,ZRAM 整体性能慢于内存 3-4 倍,NVME 由于 IO 栈干涉,性能逊色很多。...因此,我们的换出策略中尽可能保证 ZRAM 这样的高性能设备优先使用。但长期运行会导致 ZRAM 被占满,并且 ZRAM 本身依旧需要耗费内存,这都会造成性能损失。...4.1 效果自测 此处展示目前我们的自测数据: 为了更好的模拟混合部署情况下的性能问题,我们分别使用了 pgbench,nginx,build-linux-kernel 等进行了混合部署、重负载情况下的交叉测试...在 2022 年的 CID (中国云基础架构开发者大会[5])与 CLK (中国 Linux 内核开发者大会[6])上,“悟净”项目均以多级内存卸载为题参会演讲。...中国Linux内核开发者大会——内存管理与异构计算分论: http://ckernel.org/

    1.5K20
    领券