linux服务器有必要开zram吗,Linux上开启zRAM
8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
0x81 压缩内存
OS X 10.9添加了一项新特性,名字叫做压缩内存,在系统资源监视器里可以看到每个进程压缩后的内存大小,可以有效增加内存空间的利用率,带来更顺畅的系统使用体验。
0x82 zRAM
Linux还很早的时候就在内核当中集成了这一特性,zRAM是一种压缩内存的内核模块实现,它允许操作系统对不活跃的内存进行压缩存储,从而减少内存占用,压缩算法通常是lzo和lz4等。
0x83 开启zRAM支持
开启zRAM的方法很简单,就是对内核的模块特性进行配置而已,通过以下步骤可以开启一个简单的zram设备并使用压缩内存的功能:加在内核模块zram modprobe zram
分配zram内存大小 echo $((1024*1024*1024)) > /sys/block/zram0/disksize
转换/dev/zram*为swap分区 mkswap /dev/zram0
挂载/dev/zram*到swap分区 swapon /dev/zram0
通过以上几个简单的步骤,就可以启用压缩内存的功能了,当内存比较紧张开始使用swap分区时,便会压缩内存数据放入zram当中,其中有需要的大部分参数都可以在第二步各自对应的文件中进行参数配置,例如echo lz4hc > /sys/block/zram0/comp_algorithm可以设置压缩内存的算法为lz4hc。
0x84 zramctl
systemd的普及带来了大量的*ctl工具,其中zramctl便是提供了一些常用的zram配置,使用zramctl有一个前提就是需要先加载zram模块。
常用参数:-f/–find 寻找一个空闲的设备,如果所有设备均忙则生成一个新的zram回环设备。
-r/–reset {loop} 重置一个空闲的设备,如果该设备忙将被拒绝,空闲将被删除。
-a 寻找新设备时用于指定压缩算法,可以直接修改设备描述文件。
-s/–size 寻找新设备时用于指定尺寸,默认为字节,可以直接修改设备描述文件。
-t 寻找新设备时用于指定压缩流数量,默认为1。
zramctl -f –size 1024M 创建一个1G大小的zram设备。
zramctl –reset /dev/zram0 删除设备zram0,仅在空闲时可删除。
常用参数差不多就这么多,如果有需要可以到/sys/block/zram*目录下做对应的更改。
0x85 Copr zram
Copr是Fedora下的三方软件源,有点类似Arch Linux的AUR,这上面提供了不少好用的第三方脚本,其中就有zram支持,并且维护比较活跃。
以 frantisekz / zram 为例,用systemd启动脚本加载了FedoraZram的脚本用于启用和关闭zram支持,包内容不多,我们主要来看看mkzram.service和zramstart文件。1
2
3
4
5
6
7
8
9
10
11
12
13
14/usr/lib/systemd/system/mkzram.service
[Unit]
Description=Enable compressed swap in memory using zram
After=multi-user.target
[Service]
RemainAfterExit=yes
ExecStart=/usr/sbin/zramstart
ExecStop=/usr/sbin/zramstop
Type=oneshot
[Install]
WantedBy=swap.target
可以看到启动时调用了/usr/sbin/zramstart:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22num_cpus=$(nproc)
[ "$num_cpus" != 0 ] || num_cpus=1
last_cpu=$((num_cpus - 1))
FACTOR=33
[ -f /etc/sysconfig/zram ] && source /etc/sysconfig/zram || true
factor=$FACTOR
memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ')
mem_by_cpu=$(($memtotal/$num_cpus*$factor/100*1024))
modprobe -q zram num_devices=$num_cpus
for i in $(seq 0 $last_cpu); do
#enable lz4 if that supported
grep -q lz4 /sys/block/zram$i/comp_algorithm && echo lz4 > /sys/block/zram$i/comp_algorithm
echo $mem_by_cpu > /sys/block/zram$i/disksize
mkswap /dev/zram$i
swapon -p 100 /dev/zram$i
done
启动脚本内容也很简单,设置了zram设备占用内存比例,计算出逻辑CPU个数,然后就是和之前手动开启一样的操作开启多个zram设备。
很多系统特性其实在Linux内核当中早就有了实现,只是各发行版为了照顾不同的机器可能默认不会开启,而内存压缩除了zRAM还有zSwap和zCache,感兴趣的可以尝试一下效果有什么不同。
linux服务器有必要开zram吗,Linux上开启zRAM相关推荐
- windows Secure CRT使用SSH访问Linux服务器被拒绝,winscp访问Linux服务器被拒绝
我们在windows上使用Secure CRT.PUTTY等工具SSH连接到Linux服务器时,会出现linux服务器拒绝访问情况. 可能是Linux系统上没有安装SSH服务: 在终端输入: ssh ...
- Linux服务器的显卡驱动丢失又装上的过程
记一次Linux服务器的显卡驱动消失又装上的过程 因为reboot服务器了以后不明原因更新了centOS内核,导致显卡驱动没了,重新装驱动过程 故事背景 前一天试图更新linux默认语言,更改¥LAN ...
- Linux服务器迁移文件系统,DD方式迁移Linux系统.pdf
DD 方式迁移Linux 系统 一.DD 简介 dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个 文件,并在拷贝的同时进行指定的转换.我们可以使用dd 命令对 li ...
- 海量数据去重,hash、布隆过滤器以及hyperloglog丨c/c++linux服务器开发丨后端开发丨Linux后台开发丨底层原理
海量数据去重,hash.布隆过滤器以及hyperloglog 视频讲解如下,点击观看: 海量数据去重,hash.布隆过滤器以及hyperloglog丨c/c++linux服务器开发丨后端开发丨Linu ...
- 90分钟详解网络编程相关的细节处理丨 reactor丨网络io丨epoll丨C/C++丨Linux服务器开发丨后端开发丨Linux后台开发
90分钟搞懂网络编程相关细节处理 1. 网络编程四要素 2. io多路复用 3. reactor三种基础封装方式 视频讲解如下,点击观看: 90分钟详解网络编程相关的细节处理丨 reactor丨网络i ...
- linux服务器有必要开zram吗,ZRAM SWAP内存管理讲解
术语介绍: RAM : 内存 SWAP:Linux交换区 Flash : 你可以想象为电脑硬盘. Linux:Android本身可以理解为Linux操作系统和windows操作系统一样. (r ...
- linux服务器有必要开zram吗,ubuntu 14.04 使用zram
众所周知,现代计算机的瓶颈在于硬盘,而Linux系统在设计时,为了高负载下的安全性而牺牲性能,使用了虚拟内存swap作为权宜之计,不至于系统缺乏可用内存而崩溃,结果可想而知,就是一旦swap到硬盘就会 ...
- scp 将数据从一台linux服务器复制到另一台linux服务器
原文地址:原文链接 完整内容参考原文!! scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是 ...
- 检测linux服务器的使用情况,如何在Linux服务器中检查内存使用情况
我们在排除服务器系统或应用程序速度减慢或行为不正常的问题时,首先要检查的是系统内存使用情况. 本文介绍了如何在Linux系统服务器中使用几个不同的命令来检查RAM的使用情况. 1.free命令 fre ...
最新文章
- oracle12系统需求,GoldenGateforOracle的系统需求
- Chrome 控制台console的用法
- 阿里开源自研语音识别模型 DFSMN,准确率高达96.04%
- oracle可以在liux上装_linux安装Oracle11G
- Mysql基础知识--视图
- linux shell编程小程序6,shell脚本应用小程序
- 【劲峰论道时空分析技术-学习笔记】5 时空格局和异常探测
- 镜头像差之二——色差
- saspython知乎_SAS入门书籍有哪些值得推荐?
- 云模型及发生器matlab代码
- 如何获取应用宝APP ID
- 山姆公司关于营销培训方案
- 学会这两招,你就知道怎样图片转文字
- android 修改应用权限设置在哪里,Android在应用设置里关闭权限,返回生命周期处理...
- iVMS-4200 Vs区别_45466足球推荐分析 法甲 21:00 安格斯 VS 梅斯
- 厉害,竟然把VSCode玩成了IDEA的效果,有点哇塞
- 机器人控制算法四之迭代法求解四轴机器人逆解
- 思维导图软件哪个好?分享3款免费的思维导图软件
- Java-append()方法
- OpenCV 图像处理:常用绘图函数