如何从 Linux 命令行查看和监控磁盘空间使用情况如何从 Linux 命令行查看和监控磁盘空间使用情况如何从 Linux 命令行查看和监控磁盘空间使用情况如何从 Linux 命令行查看和监控磁盘空间使用情况
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何从 Linux 命令行查看和监控磁盘空间使用情况

虽然通常很清楚您的系统是否内存不足或使用了过多的 CPU 时间,但磁盘使用率是另一个关键指标,如果您让服务器无人看管,它会随着时间的推移悄悄出现。您需要使用这些命令定期检查您的磁盘使用情况。

在 Linux 上检查磁盘使用情况

用于快速检查几乎所有 Linux 系统上的磁盘使用情况的实用程序是 df,它代表“磁盘文件系统”。它只是打印出系统上所有文件系统的列表。

df -hT

此处的此命令使用两个标志调用,-h 用于“人类可读”,它打印出以 KB、MB 和 GB 为单位的字节数,以及 -T,它显示文件系统的类型。

df 将打印出每个文件系统的大小、已使用和可用的数量以及它在系统上的安装位置。

您很快就会注意到,您可能拥有比预期更多的“文件系统”。该服务器只有一个固态硬盘,但有 20 多个文件系统。其中大部分是用于其他程序和服务的后端内容,例如压缩的 squashfs、虚拟的 tmpfs 和用于容器的 Docker 的 overlay 系统。

在此示例中,ext4 是真正的驱动器,这是显而易见的,因为它安装在根目录下,但在多驱动器系统中可能无法立即清除。如果需要,您可以通过使用小写 -t 标志指定要查看的类型来过滤此列表:

df -hT -t ext4

或者使用 -x 标志手动删除您不想看到的内容:

df -hT -x squashfs -x overlay -x tmpfs -x devtmpfs

您还可以向 df 询问有关任何特定文件系统的信息,甚至包括通过名称匹配多个系统的通配符:

df -h /dev/md*

或者,您可以向它询问有关特定挂载的信息,这对于快速获取有关您的根系统的信息最有用:

df -h /

监控一览

但大多数时候,您可能不想记住并键入一堆带有特定标志的命令。这就是 glances 实用程序的用途,我们强烈建议您尝试一下。

它基本上是 top 和 htop 等内置实用程序的替代品,只是它显示了很多关于您的系统、磁盘的不同性能指标。默认情况下它不包含在大多数 Linux 发行版中,但它是开源的并且可以从 pip 安装,因为它是一个 Python 应用程序。

sudo pip install glances

然后只需运行该应用程序即可打开 glances 仪表板:

glances

您会在左下角找到一些有关磁盘使用情况的信息,包括当前 I/O 速度以及每个物理磁盘的总使用情况。使用它,您可以在系统崩溃之前轻松发现磁盘填满的问题。

还有许多其他实用程序可用于监控您的系统,但 glances 会选中所有复选框,因此它是一个非常不错的工具。

当您的磁盘使用率过高时发送警报

命令行工具的主要问题是它们要求您主动检查问题。但是问题可能会意外出现,因此最好事先得到通知。

因此,解决方案是设置一个每日 cron 作业,该作业将自动运行 df 以检查根系统上的使用情况。它会将这个值与一个设定值进行比较,如果它更大,它就会发送一条消息。

#!/bin/bash
CURRENT=$(df / | grep / | awk '{ print $5}' | sed 's/%//g')
THRESHOLD=90

if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
curl -X POST -H 'Content-type: application/json' --data "{"text":"Your server `$(hostname)` is currently at ${CURRENT}% disk capacity."}"
fi

对于如何获取消息,您有很多选择,这取决于您的首选联系人。最简单的方法是设置 mail 实用程序以从命令行向您发送电子邮件。您可以阅读我们关于设置 Postfix 的文章来为您处理这个问题。

一种更酷的方法是直接在您活跃的消息传递平台上向自己发送消息,例如从您的服务器设置 Slack 通知,这可以使用带有 curl POST 请求的 webhook 轻松完成。

您可以阅读我们关于为磁盘空间警报设置 Slack webhook 的文章以了解更多信息。

©2015-2025 艾丽卡 support@alaica.com