如何测试Linux磁盘的读写速度

在Linux系统中也有很多命令可以测试硬盘的读写速度指标。以下是几个常用命令(注意:在执行测试命令之前,请务必备份数据以避免数据丢失!

1、dd 命令

首先挂载磁盘

mount /dev/sdb /test

dd 命令可用于进行硬盘读写速度测试。

例如:进行硬盘写入速度测试,可以将硬盘的/dev/sdb分区写满1G的数据,并输出写入速度:

dd if=/dev/zero of=/test/testfile bs=1G count=1 oflag=direct

在这里插入图片描述

进行硬盘读取速度测试,可以从硬盘的/dev/sdb分区读取1G的数据,并输出读取速度:

dd if=/test/testfile of=/dev/null bs=1G count=1 iflag=direct

在这里插入图片描述

dd命令写入硬盘数据

2、 hdparm 命令

hdparm 命令是一个硬盘工具,可用于评估硬盘的性能和控制硬盘的参数设置。

例如,可以使用以下命令测试硬盘的读取速度:

hdparm -Tt /dev/sdb

上述命令会显示硬盘的缓存读取速度 (Cached Read Speed) 和不带缓存的读取速度 (Buffered Disk Read Speed)。

3、 fio 命令

fio 是一个灵活的 I/O 性能测试工具,它使用多线程进行测试,可以测试硬盘的读写速度、IOPS 和延迟等不同指标。

例如,可以使用以下命令测试硬盘的顺序读取速度:

fio --name=read --ioengine=libaio --iodepth=64 --rw=read --bs=4k --direct=1 --size=1G --numjobs=1 --runtime=60 --time_based

以下命令测试硬盘的随机读取速度:

fio --name=randread --ioengine=libaio --iodepth=32 --rw=randread --bs=4k --numjobs=1 --size=256M --runtime=60 --time_based --group_reporting

参数说明:

name=randread:指定测试作业的名称为randread

ioengine=libaio:指定使用libaio作为IO引擎

iodepth=32:指定IO深度,即同时进行的IO操作数量

rw=randread:指定测试读取数据的方式为随机读取

bs=4k:测试中每个IO块的大小为4KB

numjobs=1:指定同时执行的作业数,这里是1个

size=256M:指定测试数据的大小为256MB

runtime=60:测试运行的时间为60秒

time_based:以时间为基础的测试

group_reporting:指定报告输出格式为分组的,便于阅读结果。

fio将测试结果输出到标准输出,通常可以使用“>`或者“>>”来将测试结果保存到文件中,例如:

fio … > result.log

测试可能需要一些时间,具体时间与测试的数据量、硬盘类型、CPU、内存等条件有关。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/66400.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

低功耗LoRaWAN国产低功耗LoRa+RF射频前端芯片XD6500S

目录 典型应用XD6500S简介芯片特性 LoRa系列选型参考 LoRa是为低数据速率、远距离距离和超低功耗而优化的扩频协议,用于LPWAN应用程序的通信。 典型应用 一、智慧农业   智慧农业大田解决方案利用传感设备、自动化控制设备、气象站实时监测采集田间土壤墒情、气象…

Power BI中实现购物篮分析详解

一、购物篮分析简介 相信,很多人都听过沃尔玛购物篮分析的故事---“啤酒和尿布湿“,即分析购买尿布湿的顾客最喜欢购买的商品是什么?(啤酒)。在零售终端经营中,通过购物篮分析,分析不同商品之间…

CD4029计数器实测仿真及BCD转七段码

前面的博文中,我们介绍过CD40110(这是一个常见的直接接7段数码管的计数器,我们这里介绍一款新的计数器CD4029,这也是很常见的计数器,不同的是后者可以输出BCD编码。 文章目录 一、总体效果二、CD4029的管脚和功能介绍1、芯片功能简…

Spring 知识点

Spring 1.1 Spring 简介 1.1.1 Spring 概念 Spring是一个轻量级Java开发框架,最早有Rod Johnson创建为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。使现有的技术更加容易使…

MapTR论文笔记

MAPTR: STRUCTURED MODELING AND LEARNING FOR ONLINE VECTORIZED HD MAP CONSTRUCTION 目的 传统高精地图 通过一些离线的基于 SLAM 的方法生成,需要复杂的流程以及高昂的维护费用。基于 bev 分割的建图方法,缺少向量化 实例级的信息,比如…

2023牛客暑期多校训练营7 I-We Love Strings (分块)

文章目录 题目大意题解参考代码 题目大意 题解 这题给定的 n n n 大小和 s i s_i si​ 的总长度有玄机。 我们发现: 400 2 0 2 40020^2 400202,对于每一组数据 n n n 的个数每增加一个, s i s_i si​ 的平均值就会减小。 处理相同的 l…

nginx 负载均衡

1.环境准备 我使用的说centos7的系统 1.20版本的nginx 另外还有3台虚拟机 主机:192.168.163.142 两台服务器:服务器A--192.168.163.140 服务器B---192.168.163.141 2.配置服务器A和B 找到nginx下的html目录,编辑其中的index.html(在此…

前端懒加载

懒加载的概念 懒加载也叫做延迟加载、按需加载,指的是在长网页中延迟加载图片数据,是一种较好的网页性能优化的方式。在比较长的网页或应用中,如果图片很多,所有的图片都被加载出来,而用户只能看到可视窗口的那一部分…

【Vue+Element-plus】记录后台首页多echart图静态页面

一、页面效果 二、完整代码 Index.vue <template><div><div><DateTime /><!-- {{username}} --></div><el-row :gutter"20"><el-col :span"8"><div class"grid-content bg-purple"><P…

中间件多版本冲突的4种解决方案和我们的选择

背景 在小小的公司里面&#xff0c;挖呀挖呀挖。最近又挖到坑里去了。一个稳定运行多年的应用&#xff0c;需要在里面支持多个版本的中间件客户端&#xff1b;而多个版本的客户端在一个应用里运行时会有同名类冲突的矛盾。在经过询问chatGPT&#xff0c;百度&#xff0c;googl…

Unity之ShaderGraph 节点介绍 Procedural节点

程序化 噪声Gradient Noise&#xff08;渐变或柏林噪声&#xff09;Simple Noise&#xff08;简单噪声&#xff09;Voronoi&#xff08;Voronoi 噪声&#xff09; 形状Ellipse&#xff08;椭圆形&#xff09;Polygon&#xff08;正多边形&#xff09;Rectangle&#xff08;矩形…

一位年薪40W的测试被开除,回怼的一番话,令人沉思

一位年薪40W测试工程师被开除回怼道&#xff1a;“反正我有技术&#xff0c;在哪不一样” 一技傍身&#xff0c;万事不愁&#xff0c;当我们掌握了一技之长后&#xff0c;在职场上说话就硬气了许多&#xff0c;不用担心被炒&#xff0c;反过来还可以炒了老板&#xff0c;这一点…

Flutter:文件读取—— video_player、chewie、image_picker、file_picker

前言 简单学习一下几个比较好用的文件读取库 video_player 简介 用于视频播放 官方文档 https://pub-web.flutter-io.cn/packages/video_player 安装 flutter pub add video_player加载网络视频 class _MyHomePageState extends State<MyHomePage> {// 控制器late…

瑞数系列及顶像二次验证LOGS

瑞数商标局药监局专利局及顶像二次验证 日期&#xff1a;20230808 瑞数信息安全是一个专注于信息安全领域的公司&#xff0c;致力于为企业和个人提供全面的信息安全解决方案。他们的主要业务包括网络安全、数据安全、应用安全、云安全等方面的服务和产品。瑞数信息安全拥有一支…

测试经理应该怎么写测试部门年终总结报告?

年终总结一般对季度、半年度或年度总结的一个整理&#xff0c;我们需要定期对工作中的内容进行定期总结和复盘。将每一次复盘中总结出来的一些收获叠加起来&#xff0c;在针对性地调整一下&#xff0c;就是一份合格的年终总结。具体可以分为如下几个步骤&#xff1a; 1.先把这…

《Zookeeper》源码分析(五)之 ServerCnxnFactory的工作原理(上)

目录 AcceptThread数据结构构造函数run() SelectorThread数据结构processAcceptedConnections()select()processInterestOpsUpdateRequests() 本文开始分析 ServerCnxnFactory的工作原理&#xff0c;按照顺序我们这样分析&#xff1a; 建立连接监听读写事件处理读写就绪的事件…

Jenkins+Docker+SpringCloud微服务持续集成

JenkinsDockerSpringCloud微服务持续集成 JenkinsDockerSpringCloud持续集成流程说明SpringCloud微服务源码概述本地运行微服务本地部署微服务 Docker安装和Dockerfile制作微服务镜像Harbor镜像仓库安装及使用在Harbor创建用户和项目上传镜像到Harbor从Harbor下载镜像 微服务持…

Java中ArrayList常用方法的学习

Java中ArrayList常用方法的学习 需求分析代码实现小结Time 需求分析 ArrayList集合的常用方法学习 代码实现 java.util.ArrayList;/*** Author:LQ* Description:* Date:Created in 16:45 2023/8/9*/ public class ListTest {public static void main(String[] args) {ArrayLis…

QT QLCDNumber 使用详解

本文详细的介绍了QLCDNumber控件的各种操作&#xff0c;例如&#xff1a;新建界面、源文件、设置显示位数、设置进制、设置外观、设置小数点、设置溢出、显示事件、其它文章等等操作。 实际开发中&#xff0c;一个界面上可能包含十几个控件&#xff0c;手动调整它们的位置既费时…

【源码编译并安装RocketMQ Dashboard】

【源码编译并安装RocketMQ Dashboard】 一、环境说明二、源码编译并执行三、小结 一、环境说明 安装环境&#xff1a;虚拟机VMWare Centos7.6 Maven3.6.3 JDK1.8已经安装了RocketMQ-5.1.3 单Master集群&#xff0c;且使用Local模式部署&#xff0c;即Broker和Proxy同进程部署…