TOP云提供高性价比云服务器租用,有中国内地/港澳台、海外等全球各地节点,TOP云国内云服务器只要有域名备案号就能直接用,无须重复备案;港澳台及海外云服务器不用备案,购买之后直接使用,省时省力省心。价格实惠,续费同价,2核2G5M仅需27元每月,8核8G50M仅需66元每月,更多配置套餐请进入下面网址了解:
TOP云总站云服务器:https://topyun.vip/server/buy.html
TOP云C站云服务器:https://c.topyun.vip/cart
在云服务器上查看磁盘 I/O 性能是性能调优和故障排查的重要环节。磁盘 I/O 性能问题可能导致系统响应变慢、应用程序卡顿等问题。你可以通过系统自带工具、云服务商提供的监控服务、第三方工具等方式查看磁盘 I/O 性能。
以下是详细的查看方法:
一、使用系统自带工具查看磁盘 I/O 性能
1. Linux 系统
(1)iostat 命令(需安装 sysstat 包)
iostat 是查看磁盘 I/O 性能的经典工具,可以显示 CPU 和磁盘的详细使用情况。
安装 sysstat(如未安装):
# Ubuntu/Debian
sudo apt install sysstat
# CentOS/RHEL
sudo yum install sysstat
查看磁盘 I/O 情况(每隔 1 秒刷新一次,共显示 3 次):
iostat -dx 1 3
参数说明:
-d:仅显示磁盘相关的统计信息。
-x:显示扩展统计信息(包括 IOPS、吞吐量、响应时间等)。
1 3:每隔 1 秒刷新一次,共显示 3 次。
关键指标解释:
rkB/s / wkB/s:每秒读取/写入的数据量(单位:KB)。
rrqm/s / wrqm/s:每秒合并的读/写请求数。
r/s / w/s:每秒完成的读/写请求数(即 IOPS)。
await:平均每次 I/O 请求的等待时间(单位:毫秒)。
svctm:平均每次 I/O 请求的服务时间(单位:毫秒)。
%util:磁盘的使用率(百分比),接近 100% 表示磁盘可能成为瓶颈。
(2)vmstat 命令
vmstat 可以查看系统的整体性能,包括 CPU、内存、I/O 等。
vmstat 1
每隔 1 秒刷新一次。
关注 bi(block in,每秒从磁盘读取的块数)和 bo(block out,每秒写入磁盘的块数)。
(3)dstat 命令(需安装)
dstat 是一个多功能系统资源统计工具,可以实时查看磁盘 I/O、CPU、网络等性能。
安装 dstat:
# Ubuntu/Debian
sudo apt install dstat
# CentOS/RHEL
sudo yum install dstat
查看磁盘 I/O:
dstat -d
实时查看所有资源(包括磁盘 I/O):
dstat
(4)iotop 命令(需安装)
iotop 是一个实时查看进程级别磁盘 I/O 使用情况的工具,类似于 top,但专注于 I/O。
安装 iotop:
# Ubuntu/Debian
sudo apt install iotop
# CentOS/RHEL
sudo yum install iotop
运行 iotop:
sudo iotop
关注 DISK READ 和 DISK WRITE 列,可以看到每个进程的磁盘读写情况。
注意:iotop 需要 root 权限才能运行。
(5)sar 命令(需安装 sysstat)
sar 是系统活动报告工具,可以查看历史磁盘 I/O 数据。
查看磁盘 I/O 历史数据:
sar -d 1 3
每隔 1 秒采样一次,共采样 3 次。
2. Windows 系统
(1)资源监视器
按 Win + R,输入 resmon 打开“资源监视器”。
切换到“磁盘”选项卡,可以查看每个进程的磁盘活动情况,包括:
磁盘活动:当前正在读写的文件。
磁盘活动进程:每个进程的读写速度(读取 B/s、写入 B/s)。
磁盘队列长度:磁盘的 I/O 请求队列长度,队列过长可能表示磁盘成为瓶颈。
(2)性能监视器(Performance Monitor)
按 Win + R,输入 perfmon 打开。
添加计数器:
\PhysicalDisk(_Total)\Disk Reads/sec:每秒磁盘读取次数。
\PhysicalDisk(_Total)\Disk Writes/sec:每秒磁盘写入次数。
\PhysicalDisk(_Total)\Disk Read Bytes/sec:每秒读取的字节数。
\PhysicalDisk(_Total)\Disk Write Bytes/sec:每秒写入的字节数。
\PhysicalDisk(_Total)\Avg. Disk sec/Read:每次读取的平均时间(单位:秒)。
\PhysicalDisk(_Total)\Avg. Disk sec/Write:每次写入的平均时间(单位:秒)。
二、使用云服务商提供的监控工具
大多数云服务提供商都提供了内置的磁盘监控服务,可以方便地查看磁盘 I/O 性能,包括读写速率、IOPS、延迟等指标。
1. 阿里云
云监控(CloudMonitor)
磁盘读写速率(Read/Write BPS)
磁盘 IOPS
磁盘延迟(Read/Write Latency)
登录阿里云控制台,进入“云监控”服务。
选择对应的云服务器实例,查看磁盘相关指标,如:
支持设置告警规则,如磁盘 I/O 延迟过高时触发告警。
2. 腾讯云
云监控(Cloud Monitor)
磁盘读写带宽(Read/Write Bandwidth)
磁盘 IOPS
磁盘响应时间(Read/Write Latency)
登录腾讯云控制台,进入“云监控”服务。
选择实例,查看磁盘相关指标,如:
支持自定义告警策略。
3. AWS(Amazon Web Services)
CloudWatch
VolumeReadBytes / VolumeWriteBytes:每秒读写字节数。
VolumeReadOps / VolumeWriteOps:每秒读写操作次数(IOPS)。
VolumeQueueLength:磁盘请求队列长度。
VolumeLatency:磁盘读写延迟。
登录 AWS 管理控制台,进入 CloudWatch 服务。
选择对应的 EC2 实例或 EBS 卷,查看磁盘相关指标,如:
支持设置告警和自动化操作。
4. 华为云、百度智能云、UCloud 等
这些云服务商也提供类似的磁盘监控服务,功能与上述类似,通常称为“云监控”或“运维监控”。
三、使用第三方监控工具
如果需要更强大的监控能力,可以使用第三方监控工具,支持多台服务器集中管理、报警、可视化等功能。
1. Prometheus + Grafana
Prometheus:可以采集磁盘 I/O 指标(如 node_disk_reads_total、node_disk_writes_total 等)。
Grafana:与 Prometheus 配合,生成磁盘 I/O 的可视化仪表盘。
适合技术团队搭建自己的监控系统,支持自定义告警和大规模监控。
2. Zabbix
支持采集磁盘 I/O 指标,如读写速率、IOPS、延迟等。
提供 Web 界面,支持告警、自动发现设备等功能。
3. Datadog、New Relic、Dynatrace(商业工具)
提供全面的磁盘性能监控,包括 IOPS、吞吐量、延迟等。
支持云服务器、容器、微服务等场景。
四、自定义脚本监控磁盘 I/O
如果你希望自己编写脚本定期采集磁盘 I/O 数据并记录或报警,可以使用以下方法:
1. Linux 下使用 Shell 脚本
#!/bin/bash
# 使用 iostat 获取磁盘 I/O 数据
iostat_data=$(iostat -dx 1 2 | tail -n +4)
# 打印磁盘 I/O 数据
echo "$iostat_data"
# 可以将数据写入日志文件或发送到监控系统
echo "$iostat_data" >> /var/log/disk_io.log
将脚本保存为 check_disk_io.sh,然后通过 cron 定时任务定期执行。
五、磁盘 I/O 性能优化建议
关注关键指标:
await(I/O 等待时间)过高:可能表示磁盘性能不足或存在 I/O 瓶颈。
%util(磁盘使用率)接近 100%:磁盘可能成为系统瓶颈。
svctm(服务时间)过高:磁盘响应速度慢。
优化磁盘使用:
将频繁读写的文件(如日志、数据库)放在高性能磁盘(如 SSD)上。
使用 RAID 提升磁盘性能和冗余。
避免过多的小文件读写操作。
升级硬件:
如果磁盘 I/O 成为瓶颈,考虑升级到更高性能的磁盘(如从 HDD 升级到 SSD)。
使用缓存:
使用 Redis、Memcached 等缓存工具,减少对磁盘的直接读写操作。
如果你告诉我你使用的是哪种操作系统(如 Linux 发行版、Windows 版本)以及云服务商(如阿里云、腾讯云、AWS 等),我可以为你提供更具体的查看和优化建议。