首页 > 系统相关 ># linux系统读写速度检测

# linux系统读写速度检测

时间:2023-11-28 11:32:36浏览次数:27  
标签:文件 检测 读写 linux dev 命令 dd time CPU

前言

记录一下在 Linux 下测试硬盘读写速度的命令和方法。测试的工具是linux系统自带的 dd 命令工具 + time 命令工具

正文

dd 命令介绍

dd命令是一个功能强大的Linux命令,用于复制文件、转换格式和计算文件和设备的吞吐量。它的基本语法如下:

dd [选线]

以下是dd命令中常用的选项:

  • if=<输入文件>:infile 缩写;指定输入文件的路径。可以是设备文件(如硬盘、光驱)或普通文件。
  • of=<输出文件>:outfile缩写;指定输出文件的路径。可以是设备文件或普通文件。
  • bs=<块大小>:指定每次读取和写入的块大小。默认为512字节。
  • count=<块数>:指定要复制的块数。
  • skip=<块数>:指定从输入文件开始跳过的块数。
  • seek=<块数>:指定在输出文件中开始写入的块数。
  • iflag=<输入标记>:指定输入文件的标记。例如,使用direct可以绕过文件系统缓存。
  • oflag=<输出标记>:指定输出文件的标记。
  • status=<显示选项>:指定要显示的进度信息类型。例如,使用progress可以显示进度条。

time 命令介绍

time命令用于测量执行命令的时间以及资源使用情况。它在Linux系统中非常有用,可以帮助你评估命令的性能和效率。time命令有两种形式:内部time和外部time。

1. 内部time

内部time是bash shell的内建命令,它可以记录命令的执行时间。当你在终端中直接输入命令并在前面加上time关键字时,实际上使用的是内部time。
内部time显示的统计信息包括:

  • 实际时间(real):命令从开始到结束所经过的实际时间。
  • 用户CPU时间(user):命令在用户模式下花费的CPU时间。
  • 系统CPU时间(sys):命令在内核模式下花费的CPU时间。
  • CPU占用比例(%CPU):命令使用的CPU资源百分比。

示例

# 命令将显示ls -l命令的执行时间和CPU使用情况。
time ls -l

2. 外部time

外部time是独立于bash shell的实用程序,可以更详细地报告命令的执行时间和系统资源使用情况。外部time显示的统计信息包括:

  • 实际时间(real):命令从开始到结束所经过的实际时间。
  • 用户CPU时间(user):命令在用户模式下花费的CPU时间。
  • 系统CPU时间(sys):命令在内核模式下花费的CPU时间。
  • 子进程用户CPU时间(user-child):由命令创建的子进程在用户模式下花费的CPU时间。
  • 子进程系统CPU时间(sys-child):由命令创建的子进程在内核模式下花费的CPU时间。

示例

# 命令将显示更详细的命令执行时间和资源使用信息
/usr/bin/time -v ls -l

延伸知识

/dev/null 目录

/dev/null 是一个特殊的设备文件,在 Linux 和类 Unix 系统中起着很重要的作用。它通常被称为“黑洞”,因为它会接收所有写入它的数据,但不会将这些数据存储在任何地方,相当于直接把这些数据扔掉,因此它被用来丢弃不需要的输出。

具体来说,当程序向 /dev/null 写入数据时,数据实际上被丢弃了,而不是写入磁盘或其他地方。这对于一些程序需要输出日志或其他信息,但又不想实际将这些信息存储在磁盘上非常有用。

除了写入数据,/dev/null 还可以读取和重定向。当尝试从 /dev/null 读取数据时,它会返回空数据,即没有数据可读取。同时,可以使用重定向符号“>”将输出重定向到 /dev/null 中,从而完全禁止某些程序的输出,使其运行更加安静。

/dev/zero 目录

/dev/zero 是一个特殊的设备文件,在 Linux 和类 Unix 系统中也发挥着重要的作用。它提供了一种快速生成大量二进制零的方法,因此经常用于测试、调试和初始化操作。与 /dev/null 不同,/dev/zero 会返回连续的零字节数据而不是什么都不返回。

当读取 /dev/zero 时,将返回连续的二进制零字节,直到请求的字节数被满足。这使得 /dev/zero 成为用于填充文件或缓冲区的理想源,或者作为计算机程序中内存初始化的来源。

测试硬盘【写】速度

测试硬盘的写速度,基本原理是使用 dd 命令从 /dev/zero 中读区数据,然后写入到某个文件中。

温馨提示: 控制写入数据大小,别把硬盘写爆了。

# 往当前目录写入一个文件,大小是 2G;(bs是每次写入的大小,count 是写入次数,bs * count = 总大小)
time dd if=/dev/zero of=./test.file bs=1K count=2048k conv=fsync

测试硬盘【读】速度

我们可以创建一个比较大的文件,10G以上,然后读取这个文件,测试读取速度。

# 创建10G文件
dd if=/dev/zero of=./read.file bs=100M count=100 conv=fsync

# 测试读取速度
time dd if=./read.file of=/dev/null bs=8k

后记

记录一下

博客中所涉及到的图片都有版权,请谨慎使用



标签:文件,检测,读写,linux,dev,命令,dd,time,CPU
From: https://blog.51cto.com/u_10624715/8598146

相关文章

  • 初识Linux
    1.在这里我了解到了云计算的概念:云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来虚拟化资源。2.云计算的服务特征以及发展现状。(1)可以随时随地使用任何网络设备进行访问。(2)可以多人共享资源。(3)可以快速重新部署服务,十分灵活。(4)服务自动化。(5)服务......
  • Linux服务器上查询进程 ps aux
    在Linux服务器上查询进程,有以下几种方法:使用ps命令。这个命令用于报告当前系统的进程状态。可以用以下方式使用ps命令来查看进程信息:psaux:显示系统中所有进程的信息。ps-e:显示所有进程的信息。ps-f:显示进程的所有信息。ps-l:以长格式显示进程信息。ps-r:只显示正在运......
  • linux服务器主机巡检:
    脚本:[root@mongodbfiles]#catxuncheck.sh#!/bin/bash#获取服务器基本信息hostname=$(hostname)ip_address=$(hostname-I|awk'{print$1}')os=$(lsb_release-ds)kernel=$(uname-r)uptime=$(uptime-p)#监控循环whiletrue;do#获取CPU信息cpu_model=$(cat/p......
  • Linux 第十三周学习报告
    第十章RPM包管理(未讲完)安装RPM包之前需要查看系统的版本信息,使用cat/etc/redhat-release 第十一章yum管理器软件包有两种形式一种是源始(码)包,一种是二进制文件包,前者没有被编译后者别编译了。编译的包后缀为.rpm;1.yum源指定存放在/etc/yum.repos.d目录下,文件后缀必须......
  • Linux系统磁盘配额功能的设置和管理
    1.对硬盘进行分区操作[root@jsj~]#fdisk/dev/sdbDevicecontainsneitheravalidDOSpartitiontable,norSun,SGIorOSFdisklabelBuildinganewDOSdisklabelwithdiskidentifier0x7a02e23d.Changeswillremaininmemoryonly,untilyoudecidetowritet......
  • Linux yum管理器
    使用yummakecache命令可以更新本地软件包数据库,确保它与软件源保持同步:sudoyummakecache 安装软件包要安装特定软件包,可以使用以下命令:sudoyuminstallpackage_name更新软件包使用以下命令更新已安装的软件包到最新版本:sudoyumupdatepackage_name 升级所有软......
  • Rocky Linux 9.3 为 PowerPC 64 位带回云和容器镜像
    RHEL克隆版Rocky Linux 9.3今天发布了,作为红帽企业Linux发行版 CentOS Stream和RedHatEnterpriseLinux的免费替代版本,现在可供下载。RockyLinux9.3是在RockyLinux9.2发布6个月之后发布的,它带回了PowerPC64位LittleEndian(ppc64le)架构的云镜像......
  • Linux基本命令之文件权限(二)
    一、文件的特殊权限:suidsgidsticky1、SUID(setuid设置用户ID):限定:只能设置在二进制可执行程序上面。对目录设置无效功能:程序运行时的权限从执行者变更成程序所有者的权限2、SGID:限定:既可以给二进制可执行程序设置,也可以对目录设置功能:在设置了SGID权限的目录下建立文件时,新创建的......
  • 本地Linux 服务器实现内网穿透,SSH远程连接
     公网SSH远程连接Linux的好处在于可以在任何地方通过互联网连接到Linux服务器,无需在服务器所在的局域网内。这样可以方便地进行远程管理、维护和操作,提高了工作效率和灵活性。同时,公网SSH连接还可以加强服务器的安全性,因为可以通过SSH协议进行加密通信,保护数据的安全性。下面简......
  • Linux文件查找,打包,压缩及解压
    1.find命令:2.find命令用于在文件系统中搜索文件和目录。3.例如,要在/home目录下查找所有以.txt结尾的文件,可以使用:find/home-name"*.txt"。4.grep命令:5.grep命令用于在文件中搜索特定模式。6.例如,要在当前目录下的所有文件中查找包含"keyword"的行,可以使用:grep"keyw......