首页 > 系统相关 >linux 内存盘的使用方式与验证

linux 内存盘的使用方式与验证

时间:2023-10-25 12:32:48浏览次数:37  
标签:验证 dd 102400 ramfs 内存 linux 记录 tmpfs MB

linux 内存盘的使用方式与验证


背景

某些情况下, 硬盘的写入是一个很大的瓶颈
使用 内存文件系统的方式应该能够极大的提高IO的速度. 

内存盘的优点是比较快, 缺点就是数据不是持久化的. 

其实还是有很多可以持续优化的方式与方法的. 

可以最大化的 磁盘的IO速度等.

内存盘的多种模式与区别

ramfs  tmpfs  ramdisk 等
需要说明集中模式多少有一些区别. 

ramfs 因为追求高效和简单,去掉了容量计数;所以当使用的值超过分配的值的时候,将会继续使用;
tmpfs 使用了虚拟内存,其会使用swap和内存, 其会将一些不必要的文件内容写入到swap当中;
      并且会使用计数,来统计当前使用的容量,并进行容量限制;使用df -h 操作可以显示其具体使用的容量和可用容量信息;
      现在系统中,大多使用 tmpfs 作为内存文件系统;
ramdisk 是块设备,ramfs 是文件系统;
ramdisk 的内存空间大小是固定的,一经设定就不能改变大小了;

tmpfs 带来了一定的管理机制,但是也是意味着 相对于 ramfs,tmpfs 性能较差一点;不过使用方式上基本相同;

挂载使用-ramfs

mkdir /testRam
mount -t ramfs none /testRAM

缺省情况下,Ramfs被限制最多可使用内存大小的一半。可以通过maxsize(以kbyte为单位)选项来改变。
mount -t ramfs none /testRAM -o maxsize=2000

挂载使用-tmpfs

mkdir -p /mnt/tmpfs
mount tmpfs /mnt/tmpfs -t tmpfs

mount tmpfs /mnt/tmpfs -t tmpfs -o size=32m

性能验证

1. nvme SSD 
dd if=/dev/zero of=/nvme03/zhaobsh.test bs=8k count=102400
记录了102400+0 的读入
记录了102400+0 的写出
838860800字节(839 MB,800 MiB)已复制,0.826526 s,1.0 GB/s
2. sata SSD
dd if=/dev/zero of=/root/zhaobsh.test bs=8k count=102400
记录了102400+0 的读入
记录了102400+0 的写出
838860800字节(839 MB,800 MiB)已复制,2.15439 s,389 MB/s
3. tmpfs 文件系统
dd if=/dev/zero of=/tmp/zhaobsh.test bs=8k count=102400
记录了102400+0 的读入
记录了102400+0 的写出
838860800字节(839 MB,800 MiB)已复制,0.260812 s,3.2 GB/s
4. ramfs文件系统
dd if=/dev/zero of=/testRAM/zhaobsh.test bs=8k count=102400
记录了102400+0 的读入
记录了102400+0 的写出
838860800字节(839 MB,800 MiB)已复制,0.252449 s,3.3 GB/s

结论

ramfs 的性能最好. 
tmpfs 的性能次之.
nvme 的磁盘性能再次之
sata SSD的性能最差. 

需要说明:
[root@clickhouse1 ~]# dd if=/dev/zero of=/nvme03/zhaobsh.test bs=8k count=102400 oflag=dsync
记录了102400+0 的读入
记录了102400+0 的写出
838860800字节(839 MB,800 MiB)已复制,8.66098 s,96.9 MB/s

如果采用 dsync 的oflag 模式 下 sata和nvme的 ssd 都会有明显的降速. 但是tmpfs和ramfs 资源基本上一致.  

[root@clickhouse1 ~]# dd if=/dev/zero of=/testRAM/zhaobsh.test bs=8k count=102400 oflag=dsync
记录了102400+0 的读入
记录了102400+0 的写出
838860800字节(839 MB,800 MiB)已复制,0.259044 s,3.2 GB/s
[root@clickhouse1 ~]# dd if=/dev/zero of=/tmp/zhaobsh.test bs=8k count=102400 oflag=dsync
记录了102400+0 的读入
记录了102400+0 的写出
838860800字节(839 MB,800 MiB)已复制,0.329865 s,2.5 GB/s



标签:验证,dd,102400,ramfs,内存,linux,记录,tmpfs,MB
From: https://blog.51cto.com/u_11529070/8016532

相关文章

  • 五大内存分区
    c/c++:五大内存分区(笔记)_内存有那5部分_深海中的咸鱼的博客-CSDN博客java:Java5大内存区域-CSDN博客......
  • Linux安全加固
    1、设置复杂密码  :服务器设置大写、小写、特殊字符、数字组成的12-16位的复杂密码2、设置密码策略   :修改文件/etc/login.defs     PASS_MAX_DAYS99999   密码的有效期:99999基本上表示永久有效    PASS_MIN_DAYS0     表示自上次修改密......
  • bilibili B站:makefile 编译Linux C/C++项目快速入门
    视频摘自:https://www.bilibili.com/video/BV1vg41177zT    ......
  • 详解Linux中FTP命令 (ftp命令 linux)
    Linux中FTP命令详解FTP(FileTransferProtocol)是一种用于在网络上传输文件的标准协议。在Linux操作系统中,可以使用FTP命令进行文件的上传和下载,而无需使用第三方工具。本文将详细介绍Linux中FTP命令的使用方法和相关技巧。一、FTP命令概述FTP命令是Linux中自带的命令之一,用于连......
  • Linux下更新curl版本教程!
    在Linux下更新curl版本,您可以按照以下步骤进行操作:1、检查当前curl版本:首先,您需要确定当前系统中安装的curl版本。打开终端,并执行以下命令:curl--version 该命令将显示当前curl的版本信息。1、确认可用的curl版本:在更新curl之前,您需要确定可用的最新版本。您可以......
  • win10_Git基于WSL(Linux子系统)统计代码行数命令
    win10_Git基于WSL(Linux子系统)统计代码行数命令一、引言找到的基于git统计代码行数的命令,一般都是基于linux系统的shell命令。在使用mac电脑或者linux系统开发时,执行这些命令比较方便。但是还有大部分人是使用windows做开发,这时就遇到麻烦了,因为基于shell的统计命令不能在windows系......
  • Harbor系统文章01---Linux安装Harbor
    1、切换到指定目录下载harbor安装包wgethttps://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz 2、解压文件:tar-zxvfharbor-offline-installer-v2.5.3.tgz 3、注释https配置,测试环境用http。把harbor.yml.tm......
  • 关于LINUX ARM开发环境软硬件选取
      之前搭建LINUXARM开发环境,找了好几个ARM硬件平台,包括:1.树莓派2.USBWIFI高通4103.NasBoardRK3568  主要系统使用的是ubuntu、debian或armbian(debian系),没有选择一些正规的开发板主要是因为一个太贵,新的树莓派4也不建议,太贵了(手上的树莓派是15年入的一个老树莓派......
  • 《面试1v1》JVM内存模型
    我是javapub,一名Markdown程序员从......
  • Slax Linux 获得增强的会话管理和启动参数选项
    Slax Linux 的创建者和维护者托马斯-马特吉切克(TomasMatejicek)在自己生日这天(生日快乐!)发布了其小巧便携的GNU/Linux发行版的新版本,带来了各种增强功能和错误修复。新发布的SlaxLinux版本(Debian基本版本为12.1,Slackware基本版本为15.0.2)在从可写设备运行发行版......