Test zram at kernel 3.10 4.12
Use ltp to test zram
测试环境:
#uname -r 3.10.0-327.ali2010.rc6.alios7.x86_64
- 没有指定zram algorithm(没有设置), 因为kernel v3.15开始才支持选择compression algorithms:
cat /sys/block/zram0/comp_algorithm
。比如:select lzo compression algorithm:echo lzo > /sys/block/zram0/comp_algorithm
测试原理:
- 创建4个zram虚拟磁盘 zram0 zram1 zram2 zram3
- 分别创建4个文件系统,分别大小如下
- /dev/zram0: ext4 100M
- /dev/zram1: ext4 100M
- /dev/zram2: ext4 100M
- /dev/zram3: ext4 100M
- 分别挂载/dev/zram0 /dev/zram1 /dev/zram2 /dev/zram3 到四个目录
- 通过dd工具写四个目录
- 利用free命令获得dd塞满四个目录前后,zram一共使用多少内存
used_mem=$(($mem_free0 - $mem_free1))
total_size=400M
- 压缩比 =
$total_size / $used_mem
测试结果:
前提条件: 关闭所有测试期间可能使用,释放内存的干扰因素
测试结果压缩比:1.41:1
#sh zram01.sh
TINFO create '4' zram device(s)
TPASS test succeeded
./zram_lib.sh: line 60: tst_tmpdir: command not found
TINFO set disk size to zram device(s)
TINFO /sys/block/zram0/disksize = '50M' (1/4)
TINFO /sys/block/zram1/disksize = '50M' (2/4)
TINFO /sys/block/zram2/disksize = '50M' (3/4)
TINFO /sys/block/zram3/disksize = '50M' (4/4)
TPASS test succeeded
./zram_lib.sh: line 202: tst_check_cmds: command not found
TINFO make ext4 filesystem on /dev/zram0
TINFO make ext4 filesystem on /dev/zram1
TINFO make ext4 filesystem on /dev/zram2
TINFO make ext4 filesystem on /dev/zram3
TPASS zram_makefs succeeded
TINFO mount /dev/zram0
mkdir: cannot create directory ‘zram0’: File exists
TINFO mount /dev/zram1
mkdir: cannot create directory ‘zram1’: File exists
TINFO mount /dev/zram2
mkdir: cannot create directory ‘zram2’: File exists
TINFO mount /dev/zram3
mkdir: cannot create directory ‘zram3’: File exists
TPASS mount of zram device(s) succeeded
TINFO fill zram0...
TINFO zram0 can be filled with '44416' KB
TINFO fill zram1...
TINFO zram1 can be filled with '44416' KB
TINFO fill zram2...
TINFO zram2 can be filled with '44404' KB
TINFO fill zram3...
TINFO zram3 can be filled with '44416' KB
TINFO zram used 126M, zram disk sizes 180M
TPASS compression ratio: 1.42:1
TINFO zram cleanup
同样方式,改变一些条件后的测试结果
kernel version | zram数量 | 文件系统 | zram大小 | 测试结果:压缩比 |
---|---|---|---|---|
物理机 3.10 | 4 | ext4 ext4 ext4 ext4 | 50M 50M 50M 50M | 1.12:1-1.40:1 |
物理机 3.10 | 4 | ext4 ext4 ext4 ext4 | 100M 100M 100M 100M | 1.10:1 |
Aliyun VM 4.12 | 4 | ext4 ext4 ext4 ext4 | 50M 50M 50M 50M | 1.00:1 |
Aliyun VM 4.12 | 4 | ext4 ext4 ext4 ext4 | 100M 100M 100M 100M | 1.07:1 |
结论:
通过这种方式测试zram的压缩效果并不是很明显。在kernel 3.10 和kernel 4.12差距也并不多。
测试环境:aliyun ECS VM + rhel7.3 + kernel 4.12
kernel version | zram数量 | 文件系统 | zram大小 | 测试结果:压缩比 |
---|---|---|---|---|
aliyun ECS VM + el7.3 +kernel 4.12 | 4 | ext4 ext4 ext4 ext4 | 100M 100M 100M 100M | 1.07:1 |
[root@izrj9hbvvadz319i4e695tz zram]# uname -r
4.12.7-1.el7.elrepo.x86_64
[root@izrj9hbvvadz319i4e695tz ~]# cat /sys/block/zram0/comp_algorithm
[lzo] lz4 deflate lz4hc 842
[root@izrj9hbvvadz319i4e695tz zram]# sh zram01.sh
TINFO create '4' zram device(s)
TPASS test succeeded
./zram_lib.sh:行60: tst_tmpdir: 未找到命令
./zram_lib.sh:行65: tst_kvcmp: 未找到命令
TINFO set max_comp_streams to zram device(s)
TINFO /sys/block/zram0/max_comp_streams = '2' (1/4)
TFAIL can't set max_streams '3', get
TINFO /sys/block/zram1/max_comp_streams = '2' (2/4)
TFAIL can't set max_streams '5', get
TINFO /sys/block/zram2/max_comp_streams = '2' (3/4)
TFAIL can't set max_streams '8', get
TINFO /sys/block/zram3/max_comp_streams = '2' (4/4)
TPASS test succeeded
./zram_lib.sh:行92: tst_kvcmp: 未找到命令
TINFO test that we can set compression algorithm
TINFO supported algs: [lzo] lz4 deflate lz4hc 842
TINFO /sys/block/zram0/comp_algorithm = 'lzo' (1/4)
TINFO /sys/block/zram1/comp_algorithm = 'lzo' (2/4)
TINFO /sys/block/zram2/comp_algorithm = 'lzo' (3/4)
TINFO /sys/block/zram3/comp_algorithm = 'lzo' (4/4)
TPASS test succeeded
TINFO set disk size to zram device(s)
TINFO /sys/block/zram0/disksize = '100M' (1/4)
TINFO /sys/block/zram1/disksize = '100M' (2/4)
TINFO /sys/block/zram2/disksize = '100M' (3/4)
TINFO /sys/block/zram3/disksize = '100M' (4/4)
TPASS test succeeded
./zram_lib.sh:行133: tst_kvcmp: 未找到命令
TINFO set memory limit to zram device(s)
TINFO /sys/block/zram0/mem_limit = '100M' (1/4)
TINFO /sys/block/zram1/mem_limit = '100M' (2/4)
TINFO /sys/block/zram2/mem_limit = '100M' (3/4)
TINFO /sys/block/zram3/mem_limit = '100M' (4/4)
TPASS test succeeded
./zram_lib.sh:行202: tst_check_cmds: 未找到命令
TINFO make ext3 filesystem on /dev/zram0
TINFO make ext4 filesystem on /dev/zram1
TINFO make xfs filesystem on /dev/zram2
TINFO make btrfs filesystem on /dev/zram3
TPASS zram_makefs succeeded
TINFO mount /dev/zram0
mkdir: 无法创建目录"zram0": 文件已存在
TINFO mount /dev/zram1
mkdir: 无法创建目录"zram1": 文件已存在
TINFO mount /dev/zram2
mkdir: 无法创建目录"zram2": 文件已存在
TINFO mount /dev/zram3
mkdir: 无法创建目录"zram3": 文件已存在
TPASS mount of zram device(s) succeeded
zram01.sh:行58: tst_check_cmds: 未找到命令
TINFO fill zram0...
TINFO zram0 can be filled with '94936' KB
TINFO fill zram1...
TINFO zram1 can be filled with '92968' KB
TINFO fill zram2...
TINFO zram2 can be filled with '90568' KB
TINFO fill zram3...
TINFO zram3 can be filled with '73657' KB
TINFO zram used 355M, zram disk sizes 380M
TPASS compression ratio: 1.07:1
TINFO zram cleanup
Test zram at kernel 3.10 4.12的更多相关文章
- How To Install Kernel 3.10 On Ubuntu, Linux Mint, Debian and Derivates
n this article I will show you how to install Linux Kernel 3.10 on Ubuntu 13.10 Saucy Salamander, Ub ...
- 找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}
int [][]a={{3,2,6},{6,8,2,10},{5},{12,3,23}}; //先对二维数组进行遍历:然后把二维数组合成一个数组 int[] k=new int[11]; int q= ...
- 系列文章:老项目的#iPhone6与iPhone6Plus适配#(持续更新中,更新日期2014年10月12日 星期日 )
本文永久地址为http://www.cnblogs.com/ChenYilong/p/4020399.html ,转载请注明出处. ********************************** ...
- 10月12号 晚八点 Speed-BI 云平台-基于Excel数据源的管理驾驶舱构建全过程,腾讯课堂开课啦
认真地做了一大摞一大摞的报表,老板没时间看?努力把能反馈的内容都融汇进图表里,老板嫌复杂?做了几个简单的报表,老板一眼就觉得信息不全面?每个报表都用了各种各样的图表,老板却毫无兴趣?明明很努力了,为什 ...
- 2016年10月12日 星期三 --出埃及记 Exodus 18:23
2016年10月12日 星期三 --出埃及记 Exodus 18:23 If you do this and God so commands, you will be able to stand th ...
- WMware 10 Ubuntu 12.04 进入Unity模式
/********************************************************************* * WMware 10 Ubuntu 12.04 进入Un ...
- Java面试题:n=2\n1*2*5*6\n--3*4\n\nn=3\n1*2*3*10*11*12\n--4*5*8*9\n----6*7\n如何实现如上结构的数据
今天学长在面试的时候遇到了一道题,然后让大家做一做. 在不看下面的答案之前,悠闲的朋友们一起来抖动一下大脑吧! 以下是我的想法: import java.util.Scanner;public cla ...
- 15.找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}
package com.bao; public class Erweim { public static void main(String[] args) { int[][]a={{3,2,6},{6 ...
- Ubuntu LTS 系统学习使用体会和实用工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04
Ubuntu LTS 系统学习体会和工具软件汇总 6.04 8.04 10.04 12.04 14.04 16.04 ubuntu入门必备pdf:http://download.csdn.net/de ...
随机推荐
- /etc/default/useradd文件内容及对应功能
1.GROUP=100 #依赖于/etc/login.defs的USE RGRUUPS_ENAB参数,如果为no,则在此处控制 2.HOME=/home #把用户的家路径健在/home中 3.INAC ...
- Linux(CentOS 6.4)系统中安装mplayer
整了一个上午终于把mplayer安装上了,我的系统是centos 6.4,真是不容易啊! 一.准备工作 需要的安装包及下载地址:1.mplayer源代码包(MPlayer-1.0rc4.tar.bz2 ...
- 使用joomla通过CSV文件上传数据存入数据库并使用JavaScript验证码是否符合规则
1,实现效果截图 2,A.php上传CSV文件表单 2-1:html结构使用jqeury.form.min.js表单框架异步提交 <div class="uploadFile bord ...
- [Windows Server]新机子上装老系统·
硬盘模式改了也得用U大师,然后再PE里装 1.U大师做启动盘 2.拷贝解压后的系统进去 3.用PE自带安装工具
- Linux安装vmtools
unbantu下,先把DVD的Vmwarew.gz,文件拷贝到tmp文件.然后 tar zxf VMware Tools-0....... ls cd ./intall.pl 有个文件,先拷贝到roo ...
- QTP自带订票实现循环执行,參数化和将异常提示信息输出
做这个样例主要是为了积累一些较基础的知识,以便日后可參考学习 这个样例是一个订票的C/Sclient程序 一.业务需求: 1.实现异常和正常数据登录窗体,系统对数据进行校验 2.登录成功后.进行订票业 ...
- nyoj--95--众数问题(水题)
众数问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重 ...
- 从git源码安装zabbix-agent
从网上随便找了几个image,都是从svn下载的代码,根本跑不了,于是自己重新做了个,从git上拿的源码,只是build出来的image有点大,有时间再优化了 Dockerfile FROM cent ...
- 17.UNP第一章 简介
获取时间的客户端代码: //客户端程序 #include "unp.h" int main(int argc, char **argv) { int sockfd, n; ]; s ...
- Docker运行程序报错 WARNING: IPv4 forwarding is disabled. Networking will not work
WARNING: IPv4 forwarding is disabled. Networking will not work. 第一步:vi /usr/lib/sysctl.d/00-system ...