win和linux下的磁盘测速(读写速度)

win和linux下的磁盘测速(读写速度)1 - 命令行工具测速

后面接Linux下的代码测速 Linux磁盘测速2 - 代码测速

一、linux 下磁盘测速

1. 首先找到都有哪些磁盘df命令(disk free,查看磁盘还有多少空闲空间)

wc@r740:~/EDCR/EDCR_C$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             63G     0   63G   0% /dev
tmpfs            13G  4.1M   13G   1% /run
/dev/sda4       492G  272G  195G  59% /
tmpfs            63G  1.1G   62G   2% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs            63G     0   63G   0% /sys/fs/cgroup
/dev/sda5       3.8T  3.6T   54G  99% /home
/dev/sda2       477M  118M  330M  27% /boot
/dev/sdb1        15T   11T  4.5T  70% /data
/dev/loop2      112M  112M     0 100% /snap/core/12941
/dev/loop1      111M  111M     0 100% /snap/core/12834

2. 磁盘读性能(hdparm命令)

根据df命令列出来的磁盘,找到自己想测的磁盘,比如我这里是/dev/sdb1 (也就是我系统中的/data)。

需要注意,要使用管理员权限运行。

wc@r740:~/EDCR/EDCR_C$ sudo hdparm -Tt /dev/sdb1
[sudo] password for wc: 

/dev/sdb1:
 Timing cached reads:   16792 MB in  1.99 seconds = 8427.60 MB/sec
 Timing buffered disk reads: 2050 MB in  3.00 seconds = 682.58 MB/sec

其中T代表的是cached reads, t代表的是buffered disk reads。这里就是3s读取了2050MB,速度是 682.58 MB/sec。

3. 磁盘写性能(time + dd命令)

同样是管理员权限,我这里同样是磁盘/dev/sdb1(请注意自己修改对应的磁盘名称)

wc@r740:~/EDCR/EDCR_C$ sudo time dd if=/dev/sdb1 bs=1024 count=1000000 of=/1Gb.file
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB, 977 MiB) copied, 2.5374 s, 404 MB/s
0.57user 1.94system 0:02.53elapsed 99%CPU (0avgtext+0avgdata 2280maxresident)k
2000360inputs+2000000outputs (0major+82minor)pagefaults 0swaps

可以看到,写入1GB的文件,使用了2.5374s,速度是404MB/s

二、 Windows系统下 winsat命令

1. 打开cmd,运行winsat disk -disk C(不指定盘的话,默认是C盘)

C:\Users\LEVI>winsat disk

如果运行成功将会出现

Windows 系统评估工具
> 正在运行: 功能枚举 ''
> 运行时间 00:00:00.00
> 正在运行: 存储评估 '-drive C -ran -read'
> 运行时间 00:00:00.30
> 正在运行: 存储评估 '-drive C -seq -read'
> 运行时间 00:00:02.77
> 正在运行: 存储评估 '-drive C -seq -write'
> 运行时间 00:00:03.55
> 正在运行: 存储评估 '-drive C -flush -seq'
> 运行时间 00:00:00.86
> 正在运行: 存储评估 '-drive C -flush -ran'
> 运行时间 00:00:00.83
> Dshow 视频编码时间                                 0.00000 s
> Dshow 视频解码时间                                 0.00000 s
> 媒体基础解码时间                                     0.00000 s
> Disk  Random 16.0 Read                       159.43 MB/s          7.5
> Disk  Sequential 64.0 Read                   438.28 MB/s          8.0
> Disk  Sequential 64.0 Write                  222.04 MB/s          7.4
> 顺序写操作的平均读取时间                                 0.434 ms          8.1
> 延迟: 95%                                      2.062 ms          7.6
> 延迟: 最大                                       19.430 ms          7.9
> 随机写操作的平均读取时间                                 0.453 ms          8.7
> 总运行时间 00:00:08.59

2. 如果失败(出现运行界面,但是没看到最终结果),应该是权限不够。找到powershell,右键,以管理员身份运行。继续输入winsat disk -drive C

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

PS C:\WINDOWS\system32> winsat disk -drive C
Windows 系统评估工具
> 正在运行: 功能枚举 ''
> 运行时间 00:00:00.00
> 正在运行: 存储评估 '-drive C -ran -read'
> 运行时间 00:00:00.30
> 正在运行: 存储评估 '-drive C -seq -read'
> 运行时间 00:00:02.77
> 正在运行: 存储评估 '-drive C -seq -write'
> 运行时间 00:00:03.55
> 正在运行: 存储评估 '-drive C -flush -seq'
> 运行时间 00:00:00.86
> 正在运行: 存储评估 '-drive C -flush -ran'
> 运行时间 00:00:00.83
> Dshow 视频编码时间                                 0.00000 s
> Dshow 视频解码时间                                 0.00000 s
> 媒体基础解码时间                                     0.00000 s
> Disk  Random 16.0 Read                       159.43 MB/s          7.5
> Disk  Sequential 64.0 Read                   438.28 MB/s          8.0
> Disk  Sequential 64.0 Write                  222.04 MB/s          7.4
> 顺序写操作的平均读取时间                                 0.434 ms          8.1
> 延迟: 95%                                      2.062 ms          7.6
> 延迟: 最大                                       19.430 ms          7.9
> 随机写操作的平均读取时间                                 0.453 ms          8.7
> 总运行时间 00:00:08.59

值得一提的是,我的D盘的随机读时间要慢不少( 2.17 MB/s )。应该是因为D盘是HDD(随机读需要频繁移动磁头),C盘是SSD(SSD主要由flash组成,本身就以随机读能力著称,此外,SSD现在也可以和RAID结合,有些SSD由于其多块FLASH闪存芯片组成的RAID 0阵列,其处理随机读能力要更强,当然我这里C盘是SSD还是SSD + RAID,我就不去继续考虑了)。

PS C:\WINDOWS\system32> winsat disk -drive D
Windows 系统评估工具
> 正在运行: 功能枚举 ''
> 运行时间 00:00:00.00
> 正在运行: 存储评估 '-drive D -ran -read'
> 运行时间 00:00:07.72
> 正在运行: 存储评估 '-drive D -seq -read'
> 运行时间 00:00:04.70
> 正在运行: 存储评估 '-drive D -seq -write'
> 运行时间 00:00:04.16
> 正在运行: 存储评估 '-drive D -flush -seq'
> 运行时间 00:00:04.08
> 正在运行: 存储评估 '-drive D -flush -ran'
> 运行时间 00:00:10.17
> Dshow 视频编码时间                                 0.00000 s
> Dshow 视频解码时间                                 0.00000 s
> 媒体基础解码时间                                     0.00000 s
> Disk  Random 16.0 Read                       2.17 MB/s          4.3
> Disk  Sequential 64.0 Read                   200.74 MB/s          7.3
> Disk  Sequential 64.0 Write                  208.30 MB/s          7.3
> 顺序写操作的平均读取时间                                 3.385 ms          6.5
> 延迟: 95%                                      19.177 ms          4.7
> 延迟: 最大                                       56.988 ms          7.8
> 随机写操作的平均读取时间                                 6.905 ms          5.4
> 总运行时间 00:00:31.16

三、备注

1. 需要用管理员权限运行(linux sudo, windows powershell,右键,以管理员身份运行)

2. 以上测速并不是很稳定,建议运行多次取平均值

后面接Linux下的代码测速 Linux磁盘测速2 - 代码测速

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用`dd`命令来测试磁盘读写速度。格式如下: ``` dd if=/dev/zero of=test bs=1M count=1024 conv=fdatasync ``` 其中`if`参数代表读取的文件,`of`参数代表写入的文件,`bs`参数代表每次读写的块大小,`count`参数代表读写的块数,`conv`参数代表执行的转换。 执行上述命令后,终端会输出读写速度的信息。 ### 回答2: 在 Linux 中,可以使用工具来查看磁盘读写速度。通常使用的工具有 iostat、vmstat 和 sar。 其中,iostat 是一个最常用的工具之一。它可以用来查看每个磁盘读写速度、I/O 请求数等信息。此外,它还可以用来查看系统整体的 CPU、内存、网络和交换分区等性能指标。 iostat 的用法如下: iostat -dx 5 其中 -x 选项表示显示每个磁盘的详细信息,-d 选项表示每隔 5 秒更新一次数据。输出类似下面的结果: Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.03 73.09 0.53 39.61 0.00 0.15 8.14 0.00 0.05 0.05 0.05 0.02 0.09 其中,rMB/s 表示每秒读取的数据量,wMB/s 表示每秒写入的数据量,%util 表示磁盘的利用率。可以根据这些数据来评估磁盘的性能。 另外,vmstat 和 sar 也可以用来查看磁盘读写速度,它们的输出结果更加详细。vmstat 可以实时监控系统的各项资源使用情况,而 sar 可以生成历史数据报告,并可用于性能分析和故障排除。 综上所述,Linux 中有多种工具可以用来查看磁盘读写速度,可以根据实际需要选择合适的工具,以便更好地监控和评估系统性能。 ### 回答3: Linux是一款开源的操作系统,它的优势在于灵活性和高效性。对于Linux系统中的磁盘读写速度,我们可以通过多种方法进行查看。 一、使用iostat命令查看磁盘读写速度 Iostat命令是Linux系统中一个常用的工具,可以用来显示CPU,磁盘,内存,网络等信息。通过检查磁盘的I/O活动,我们可以确定磁盘的性能瓶颈所在。 iostat -dkx 1:该命令会每秒钟显示一次所有磁盘读写速度及其相关参数信息。 其中: -d 表示查看磁盘读写统计信息 -k 表示数据单位为KB -x 表示查看磁盘的详细信息 ii)使用iotop命令查看磁盘读写速度 Iotop是一个交互式实时磁盘I/O工具,可以显示进程和文件在磁盘上的I/O速度。我们可以使用Iotop来查看磁盘上具体执行了那些操作,以及哪些进程占用了大量的磁盘I/O资源。 # iotop --only:只显示磁盘I/O比较高的进程 # iotop --batch --time=10 --only:按顺序显示磁盘I/O比较高的进程 其中– batch表示无需交互, – only表示只显示I/O比较高的进程信息。 综上所述,如果我们想获取Linux系统中磁盘读写速度,可以使用iostat和iotop命令来查看具体的统计信息和进程耗用的磁盘I/O资源,进而找到磁盘读写性能的瓶颈,并进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值