Linux磁盘用量怎么查看,Linux查看磁盘占用空间命令是什么?

解决Linux磁盘用量问题,核心在于通过 df 命令定位空间占用分区,利用 du 命令逐级深入查找大目录或大文件,并针对日志文件、软件包缓存、已删除但未释放的文件句柄以及 Inode 耗尽等特定场景进行精准清理。

linux查看磁盘占用情况命令与排查逻辑

在Linux运维过程中,面对磁盘空间告警,第一步并非盲目删除文件,而是建立清晰的“由面到点”的排查逻辑。

Linux操作系统入门:查看磁盘和内存空间
加载中
Linux操作系统入门:查看磁盘和内存空间

快速识别:df 与 du 的应用场景

运维人员必须区分“磁盘空间占用”与“文件目录占用”这两个概念。

  • df (Disk Free):用于查看整个文件系统的整体使用情况。
  • du (Disk Usage):用于查看特定目录或文件占用的空间大小。

实战操作路径:

  1. 查看整体分区状态:执行 df -h,这里的 -h 参数代表 “human-readable”,会将字节数转换为我们易读的 GB、MB 格式,通过该命令,可以迅速判断是哪个挂载点(如 、/var/home)达到了临界值。
  2. 定位高占用目录:在确定了问题分区后,进入该分区并执行 du -sh
    • -s 表示只显示总计(summary)。
    • -h 表示易读格式。
    • 代表当前目录下的所有子目录和文件。
  3. 层级递进排查:如果发现 /var 占用过高,则进入 /var 执行 du -sh ,重复此过程直到锁定具体的文件夹。

进阶技巧:linux大文件查找命令实战

当磁盘空间告警时,往往是由于个别超大日志文件或备份文件导致的,使用传统的 du 命令逐层查找效率较低,需要使用更高效的搜索手段。

高效查找方案:

  • 按文件大小查找:使用 find 命令可以快速定位全盘或指定目录下的巨型文件。
    • 命令示例:find / -type f -size +500M
    • 该命令会搜索根目录下所有大于 500MB 的普通文件。
    • Linux磁盘用量怎么查看,Linux查看磁盘占用空间命令是什么?

  • 组合排序查找:结合 dusort 命令,可以直接列出当前目录下占用空间最大的前 10 个文件或目录。
    • 命令示例:du -ah | sort -rh | head -n 10
    • -a 表示包含文件,-r 表示逆序,-h 表示易读格式。

linux磁盘空间不足如何清理与深度治理

清理磁盘不只是简单的 rm -rf,不当的操作可能会导致系统服务崩溃或数据丢失。

解决“文件已删但空间未释放”的隐患

这是运维中最常见的“诡异”现象:明明使用 rm 删除了几个 GB 的日志文件,但 df -h 显示的可用空间却没有任何变化。

业内专家指出,这种情况通常是因为该文件仍被某个运行中的进程占用(打开状态),在 Linux 中,一个文件被删除后,如果仍有进程持有该文件的句柄,文件系统的索引节点(Inode)虽然被标记为删除,但数据块(Data Blocks)并不会被释放。

排查与解决步骤:

  1. 查找已删除但仍被占用的文件
    • 执行命令:lsof | grep deleted
  2. 识别占用进程:在输出结果中,查看 COMMAND 列,确定是哪个服务(如 nginxmysqlsyslog)占用了该文件。
  3. 释放空间
    • 安全做法:重启对应的服务(如 systemctl restart nginx),进程关闭后,系统会自动回收空间。
    • 在线做法:如果无法重启服务,可以尝试对该文件句柄进行清空操作(前提是已知文件路径),echo > /proc/[PID]/fd/[FD_ID]

日志与缓存文件的系统级清理

日志文件是磁盘空间的“头号杀手”。

  • 日志文件(/var/log)
    • 检查 /var/log/ 下的 .log 文件。
    • 检查 journald 系统日志,使用 journalctl --disk-usage 查看日志占用情况,使用 journalctl --vacuum-time=7d

      Linux磁盘用量怎么查看,Linux查看磁盘占用空间命令是什么?

      清理 7 天前的日志。

  • 软件包缓存
    • Debian/Ubuntu 系:执行 apt-get clean 清理已下载的安装包。
    • RedHat/CentOS 系:执行 yum clean alldnf clean all

Inode 耗尽:被忽视的磁盘空间危机

据统计,在处理大量小文件(如邮件服务器、Session 文件或大量临时文件)的场景下,经常会出现 “磁盘空间充足,但无法创建新文件” 的情况。

这并非磁盘容量不足,而是 Inode(索引节点) 用尽,每个文件都需要占用一个 Inode,如果文件数量极其庞大,即使磁盘还有几百 GB 剩余,也会因为 Inode 耗尽而报错。

排查方法:

  • 执行 df -i 查看各分区的 Inode 使用率。
  • IUse% 接近 100%,必须通过 find 命令查找并删除包含大量小文件的目录(通常在 /tmp/var/spool 下)。

架构设计:linux磁盘分区工具对比与扩容方案

当磁盘清理无法从根本上解决问题时,必须考虑扩容。

传统分区与 LVM 逻辑卷的差异化对比

在设计 Linux 服务器架构时,选择何种分区方式决定了后期的运维难度。

特性 传统物理分区 (Standard Partition) LVM 逻辑卷管理 (Logical Volume Manager)
灵活性 极低,扩容通常需要重新分区或移动数据。 极高,支持在线扩容,无需停机。
扩容难度 需要调整分区表,存在风险。 只需向卷组(VG)添加物理卷(PV)并扩展。
管理复杂度

Linux磁盘用量怎么查看,Linux查看磁盘占用空间命令是什么?

简单,直接映射硬件。

较复杂,多了一层逻辑抽象。
适用场景简单的单磁盘、静态环境。企业级生产环境、云服务器、动态扩容需求。

行业共识认为,对于生产环境的服务器,强烈建议优先使用 LVM 架构,以应对业务增长带来的存储压力。

扩容实操:从物理磁盘到逻辑卷的演进

假设你为服务器增加了一块新的物理硬盘 /dev/sdb,使用 LVM 进行扩容的标准流程如下:

  1. 创建物理卷 (PV)
    • pvcreate /dev/sdb
  2. 扩展卷组 (VG)
    • 假设原卷组名为 vg_data,执行 vgextend vg_data /dev/sdb
  3. 扩展逻辑卷 (LV)
    • 执行 lvextend -l +100%FREE /dev/vg_data/lv_data,将所有新空间分配给逻辑卷。
  4. 调整文件系统大小
    • 如果是 ext4 文件系统:resize2fs /dev/vg_data/lv_data
    • 如果是 XFS 文件系统:xfs_growfs /mount_point

Q&A: linux磁盘用量深度问答

linux磁盘空间满了怎么办?

首先使用 df -h 确认是哪个分区满了;接着使用 du -sh / 逐层定位大目录;随后利用 find / -type f -size +100M 查找大文件;最后针对日志、缓存或已删除但未释放的文件句柄进行清理。

如何防止磁盘空间被日志占满?

建议配置 logrotate 工具,通过设置自动轮转、压缩以及保留天数来管理日志;同时对于系统日志,应合理配置 journald 的存储限额(如 SystemMaxUse 参数)。

为什么删除了大文件但df显示空间没变?

这通常是因为该文件仍被某个进程打开,进程持有文件句柄,导致文件系统无法释放数据块,请使用 lsof | grep deleted 找到相关进程并重启该服务。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/488204.html

(0)
Linux磁盘用量怎么查看?,服务器磁盘空间满了怎么清理?
上一篇 2026年7月12日 18:46
AI打折是真的吗,AI软件打折哪里买最划算
下一篇 2026年2月21日 22:52

相关推荐

  • linux怎么过滤指定行?Linux grep命令过滤文本

    在 Linux 中,过滤文本行是非常常见的操作,根据需求的不同,可以使用多种工具,如 grep、awk、sed 等,以下是几种常用的方法:使用 grep 过滤包含特定字符串的行grep 是最常用的文本过滤工具,可以根据正则表达式匹配行,示例:# 过滤包含 "error" 的行grep &qu……

    2026年7月9日
    11300
  • linux find参数怎么用?linux find命令查找文件长尾词

    Linux find 命令是系统管理员定位文件的终极利器,掌握其参数组合能解决99%的文件查找与批量处理需求,在 Linux 的日常运维和开发工作中,面对成千上万个目录和文件,手动搜索无异于大海捞针,find 命令之所以成为行业标准,是因为它不仅能搜索文件名,还能基于文件属性、权限、时间甚至内容进行搜索,对于初……

    2026年7月4日
    15410
  • linux点播服务怎么配置?linux点播服务器搭建教程

    在Linux环境下搭建点播服务,核心在于选择Nginx配合HLS或DASH协议,通过FFmpeg进行转码,并部署CDN加速,这是目前兼顾性能与成本的主流技术选型方案,视频点播(VOD)业务在2026年已进入深水区,单纯的存储转发已无法满足用户对低延迟、高清晰度的极致追求,Linux作为服务器操作系统的绝对主力……

    2026年7月11日
    15100
  • Linux bridge vlan怎么配置?linux交换机端口划分vlan教程

    Linux Bridge VLAN配置的核心在于利用VLAN过滤模式(VLAN Filtering)将网桥转化为支持802.1Q协议的虚拟交换机,通过brctl或ip命令划分VLAN ID并绑定物理接口,从而实现二层网络隔离与流量控制,在数据中心和私有云环境中,网络隔离不再依赖昂贵的物理交换机堆叠,而是通过软件……

    2026年7月5日
    15800
  • linux crypt函数怎么用?linux crypt函数加密原理

    Linux中的crypt函数并非直接用于日常文件加密,而是系统底层处理用户密码哈希的核心机制,它通过单向算法将明文密码转化为不可逆的密文存储,从而保障账户安全,在Linux系统的安全架构中,密码管理是最后一道防线,许多开发者或系统管理员在初次接触用户认证机制时,往往会被各种加密术语绕晕,理解crypt函数就是理……

    相关资讯 2026年7月12日
    12000
  • Linux如何显示线程?查看Linux进程线程的常用命令

    在 Linux 系统中查看线程最直观的命令是 top 或 htop,若需精准定位特定进程的所有线程,推荐使用 ps -T 或 pstree 命令组合,它们能清晰展示线程与进程的层级关系,很多刚接触 Linux 的管理员常有一个误区,认为“进程”就是系统调度的最小单位,在 Linux 内核视角下,线程只是共享了部……

    2026年7月6日
    11700
  • PHP Linux服务器500错误怎么解决?排查与修复500内部服务器错误

    PHP在Linux环境下出现500错误,核心原因通常在于代码语法错误、权限配置不当或服务器资源耗尽,首要排查步骤是查看Nginx或Apache的错误日志以定位具体报错行,当你在Linux服务器上部署PHP应用时,遇到500 Internal Server Error是最令人头疼的状况之一,这不仅仅是一个简单的H……

    2026年7月7日
    12000
  • Linux mutex lock如何正确使用?Linux互斥锁详解

    Linux mutex lock 是内核中用于保护共享资源、防止多线程并发竞争导致数据损坏的核心同步原语,其核心机制是通过原子操作将线程状态在“未锁定”与“睡眠等待”之间切换,确保同一时刻只有一个线程能访问临界区,在多核处理器普及的今天,并发编程已成为软件开发的常态,当多个线程试图同时修改同一块内存数据时,如果……

    2026年7月5日
    14700
  • linux vi如何切换模式?vi编辑器常用操作技巧

    在Linux系统中,vi编辑器切换模式的核心方法是按Esc键回到普通模式,按i或a进入插入模式,按:进入命令模式,熟练掌握这三种模式的转换是高效编辑文本的基础,很多刚接触Linux的新手在面对黑底白字的终端界面时,往往会被vi编辑器独特的模式切换机制劝退,不同于Windows下Word那种所见即所得的编辑体验……

    2026年7月12日
    18800
  • linux find print怎么用?linux find命令打印文件路径

    Linux中find命令结合-print(默认行为)是查找文件最高效的方式,核心在于通过精准的条件过滤配合-exec或xargs执行后续操作,而非仅仅列出文件名,在Linux系统的日常运维与开发场景中,文件检索是一项高频且基础的操作,很多初学者往往只停留在使用ls或简单的find .命令上,这虽然能列出当前目录……

    2026年7月5日
    17000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注