监控磁盘使用情况
使用 `df`、`du` 和 `iostat` 等工具监控服务器存储的磁盘空间、inode 使用情况和 I/O 性能
监控磁盘使用情况 是 CoddyKit 上的免费 Linux Server Deployment & SSH Mastery 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Server Deployment & SSH Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。
为什么要监控磁盘使用情况?
密切关注服务器的磁盘使用情况至关重要。想象一下,网站突然停止运行,只因为日志占满了整个磁盘!或者由于磁盘活动繁重,数据库运行速度变得极其缓慢。
监控可以帮助您:
- 防止服务中断:在磁盘占满并引发问题之前发现它。
- 优化性能:识别输入输出负载较高、可能成为性能瓶颈的磁盘。
- 规划容量:了解增长趋势,以便主动增加存储空间。
认识 `df`:磁盘空闲空间
df 命令的名称源自“disk free”(磁盘空闲空间)。它是检查服务器上已挂载文件系统整体磁盘空间使用情况的首选工具。
它会汇总显示每个已挂载分区的总空间、已用空间、可用空间和使用百分比。
`df` 实战:检查空间
下面来看看 df 的实际用法。-h 标志会使输出更便于人类阅读,以 KB、MB 或 GB 显示大小。
请尝试运行此命令,快速查看服务器的磁盘空间:
df -h理解 `df` 输出
df -h 的输出通常包含以下列:
- 文件系统:磁盘分区或设备的名称。
- 大小:文件系统的总大小。
- 已用:当前正在使用的空间量。
- 可用:仍然可用的空间量。
- 使用率:已使用磁盘空间的百分比。
- 挂载位置:文件系统所挂载的目录。
请密切关注使用率列,以便发现即将占满的磁盘!
认识 `du`:磁盘使用量
df 显示整个文件系统的使用情况,而 du(磁盘使用量)则计算特定文件或目录占用的空间。
这对于查找占用空间最多的目录非常有帮助,可以让您定位磁盘使用量过高的原因。
`du` 实战:目录大小
要查找目录的大小,可以将 du 与 -s(汇总)和 -h(便于人类阅读)标志一起使用,并在后面指定目录路径。
下面来检查 /var/log 目录的大小,该目录通常包含较大的日志文件:
du -sh /var/log`df` 与 `du`:主要区别
了解何时使用哪个工具非常重要:
df:报告整个文件系统的空间使用情况。它从文件系统元数据中读取数据。du:报告文件和目录的空间使用情况。它会扫描目录内容来计算大小。
有时,由于已删除的文件仍被进程保持打开状态,df 和 du 可能会显示不同的数值。重启服务器或重新启动相关进程通常可以使两者同步。
认识 `iostat`:输入输出性能
iostat 属于 sysstat 软件包,可提供存储设备的详细输入输出(I/O)统计信息。
此工具可以帮助您监控磁盘活动,这对于识别性能瓶颈至关重要。较长的输入输出等待时间可能会显著拖慢服务器。
`iostat` 实战:磁盘活动
要获取磁盘 I/O 性能的快照,可以使用 iostat。-x 标志会提供扩展统计信息,添加一个数字(例如 2)后,它会每 2 秒更新一次。
此命令可能要求先安装 sysstat(例如,在 Debian/Ubuntu 上运行 sudo apt install sysstat)。
iostat -x 2解读 `iostat` 输出
使用 iostat -x 时,请关注以下关键指标:
- %util:向设备发出 I/O 请求期间所占用的 CPU 时间百分比。数值较高(接近 100%)表示磁盘繁忙。
- r/s、w/s:每秒读取/写入请求的数量。
- rkB/s、wkB/s:每秒读取/写入的千字节数。
- await:设备处理所发出 I/O 请求的平均时间(以毫秒为单位)。数值较高通常表示磁盘速度较慢。
这些指标可以帮助您评估磁盘的健康状况和性能。
快速检查:监控磁盘
您已经了解了三个用于监控磁盘使用情况和性能的重要工具。现在来测试一下您对这些内容的理解吧!
回顾:您的监控工具箱
做得很好!您已经掌握了监控服务器磁盘使用情况和 I/O 性能的基础知识。
您已经了解:
df:用于检查文件系统中的总体可用磁盘空间。du:用于确定特定文件和目录占用的磁盘空间。iostat:用于监控磁盘 I/O 性能并找出性能瓶颈。
定期使用这些工具,可以帮助您让服务器稳定运行,并避免出现意外问题。
常见问题解答
「监控磁盘使用情况」课时是免费的吗?
是的 — 「监控磁盘使用情况」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Server Deployment & SSH Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。
「监控磁盘使用情况」这节课中我会学到什么?
使用 `df`、`du` 和 `iostat` 等工具监控服务器存储的磁盘空间、inode 使用情况和 I/O 性能 你通过在浏览器中直接运行的动手代码来练习 Linux Server Deployment & SSH Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Linux Server Deployment & SSH Mastery 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Linux Server Deployment & SSH Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「监控磁盘使用情况」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Linux Server Deployment & SSH Mastery 课中编写并运行代码吗?
能。每节 Linux Server Deployment & SSH Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 磁盘分区与格式化
- 挂载文件系统
- 监控磁盘使用情况
- 逻辑卷管理(LVM)