Linux df/du 命令实战:5分钟定位磁盘空间占用超80%的根因

发布时间:2026/7/16 0:48:02

Linux df/du 命令实战:5分钟定位磁盘空间占用超80%的根因
Linux磁盘空间排查实战5分钟精准定位空间占用元凶1. 磁盘空间告警的紧急排查流程当服务器突然弹出磁盘空间不足的警告时运维人员需要像急诊医生一样快速定位问题根源。以下是经过实战验证的排查决策树全局扫描使用df -h查看各分区使用率锁定问题分区目录级分析进入目标分区后执行du -sh * | sort -hr找出最大目录深度钻取对可疑目录执行du -ah | sort -rh | head -10列出具体大文件特殊文件检查用ls -lhS查看当前目录文件大小排序典型排查场景示例# 步骤1确认根分区使用率已达95% $ df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 47G 1.2G 95% / # 步骤2发现/var占用异常 $ cd / sudo du -sh * | sort -hr 24G var 11G usr 5.2G home ... # 步骤3定位到日志文件过大 $ cd /var sudo du -ah | sort -rh | head -5 18G /var/log/nginx/access.log 1.2G /var/log/syslog 800M /var/log/kern.log ...2. 高阶排查工具与技巧2.1 可视化分析工具对于复杂的空间占用问题可以借助可视化工具生成直观报告# 安装ncdu工具 $ sudo apt install ncdu -y # 扫描指定目录 $ ncdu /varncdu会生成交互式界面用ASCII条形图显示各目录占比支持键盘导航深入查看。相比传统命令它能实时显示扫描进度允许删除文件而不退出工具按大小或名称排序显示隐藏目录占比2.2 特殊文件类型处理某些文件类型需要特殊处理方式文件类型特征处理命令日志文件持续增长truncate -s 0 filename核心转储以core开头gdb -c corefile分析后删除孤立inodedu与df结果不一致lsof L1查找被删除的大文件2.3 自动化监控脚本将以下脚本加入crontab实现每日空间检查#!/bin/bash THRESHOLD80 CURRENT$(df / --outputpcent | tail -1 | tr -d % ) if [ $CURRENT -ge $THRESHOLD ]; then ALERT_MSG[WARNING] Disk usage on / is ${CURRENT}% echo $ALERT_MSG # 生成详细报告 REPORT_FILE/tmp/disk_usage_$(date %Y%m%d).log echo Top 10 directories: $REPORT_FILE du -h --max-depth1 / 2/dev/null | sort -hr | head -11 $REPORT_FILE # 这里可以添加邮件发送逻辑 else echo [OK] Disk usage: ${CURRENT}% fi3. 典型场景解决方案3.1 日志文件暴增Nginx/Apache日志快速增长是常见问题解决方案包括日志轮转配置以Nginx为例# /etc/logrotate.d/nginx /var/log/nginx/*.log { daily missingok rotate 14 compress delaycompress notifempty create 0640 www-data adm sharedscripts postrotate invoke-rc.d nginx rotate /dev/null 21 endscript }实时日志监控# 监控日志文件增长 $ watch -n 60 du -sh /var/log/nginx/access.log # 按时间范围切割日志 $ sudo logrotate --force /etc/logrotate.d/nginx3.2 数据库空间异常PostgreSQL数据库可能出现数据目录膨胀-- 查询数据库大小 SELECT d.datname AS 数据库名, pg_size_pretty(pg_database_size(d.datname)) AS 大小 FROM pg_database d ORDER BY pg_database_size(d.datname) DESC; -- 查询表大小含索引 SELECT table_schema || . || table_name AS 表名, pg_size_pretty(pg_total_relation_size(||table_schema||.||table_name||)) AS 总大小 FROM information_schema.tables ORDER BY pg_total_relation_size(||table_schema||.||table_name||) DESC;对于表膨胀问题建议定期执行VACUUM FULL需停机窗口或使用pg_repack工具在线重组。4. 防御性运维策略4.1 空间预分配机制通过LVM实现弹性扩容# 查看卷组剩余空间 $ vgs # 扩展逻辑卷 $ lvextend -L 10G /dev/mapper/vg-root # 调整文件系统 $ resize2fs /dev/mapper/vg-root4.2 关键目录配额设置对用户目录设置磁盘配额# 1. 编辑/etc/fstab添加usrquota参数 /dev/sda1 /home ext4 defaults,usrquota 0 2 # 2. 重新挂载并初始化配额 $ mount -o remount /home $ quotacheck -cum /home $ quotaon /home # 3. 为用户设置配额 $ edquota -u username4.3 自动化清理策略使用systemd定时器实现智能清理# /etc/systemd/system/disk-cleanup.service [Unit] DescriptionWeekly disk cleanup [Service] Typeoneshot ExecStart/usr/local/bin/cleanup_script.sh # /etc/systemd/system/disk-cleanup.timer [Unit] DescriptionRun cleanup weekly [Timer] OnCalendarweekly Persistenttrue [Install] WantedBytimers.target

相关新闻

Alpine Xfce 中文支持实战:3步解决字体乱码,配置 Fcitx5 输入法

Alpine Xfce 中文支持实战:3步解决字体乱码,配置 Fcitx5 输入法

2026/7/12 7:28:03

Alpine Xfce 中文支持实战:3步解决字体乱码,配置 Fcitx5 输入法对于追求极致轻量化的Linux用户来说,Alpine Linux搭配Xfce桌面环境是一个理想的选择。但在中文环境下使用,往往会遇到字体显示异常和输入法缺失两大痛点。本文将提供…

Kali Linux 2024.3 桌面快捷方式创建:3种方法对比与 .desktop 文件详解

Kali Linux 2024.3 桌面快捷方式创建:3种方法对比与 .desktop 文件详解

2026/7/12 3:38:58

Kali Linux 2024.3 桌面快捷方式创建:3种方法对比与 .desktop 文件详解在Kali Linux的日常使用中,桌面快捷方式(启动器)是提升效率的重要工具。本文将深入解析Linux桌面环境下的启动器机制,并对比三种主流创建方法&…

Studio Library:Maya动画师必备的3分钟快速安装与完整使用指南

Studio Library:Maya动画师必备的3分钟快速安装与完整使用指南

2026/7/13 0:38:45

Studio Library:Maya动画师必备的3分钟快速安装与完整使用指南 【免费下载链接】studiolibrary Studio Library 项目地址: https://gitcode.com/gh_mirrors/st/studiolibrary 你是否为Maya动画制作中重复调整相同姿态而烦恼?每次制作新项目都要重…

影刀RPA 数据去重实战:找出Excel中的重复记录

影刀RPA 数据去重实战:找出Excel中的重复记录

2026/7/16 0:39:32

title: “影刀RPA 数据去重实战:找出Excel中的重复记录” date: 2026-07-01 author: 林焱 影刀RPA 数据去重实战:找出Excel中的重复记录 从多个系统导出的数据,同一条记录可能出现多次。手动查重靠肉眼或COUNTIF公式,数据一大效率…

美团开发岗高频算法题清单

美团开发岗高频算法题清单

2026/7/16 0:39:32

美团开发岗的算法难度整体不一定最卷,但有一个很鲜明的特点:题目很贴近后台开发常见的数据结构能力。 也就是说,美团更像是在通过算法题看你是不是一个扎实的后台工程师,而不是单纯看你刷了多少偏题怪题。 美团算法面试特点 偏经…

国产PLC通信避坑:C#解决信捷PLC数据丢包与断线重连实战

国产PLC通信避坑:C#解决信捷PLC数据丢包与断线重连实战

2026/7/16 0:39:32

前言:国产PLC的"隐形门槛" 在工控圈子里,西门子、三菱的通信库被研究得透透的,随便搜一下就是现成的轮子。但当你接手一个使用信捷XC/XD系列PLC的项目时,往往会发现:文档少、社区小、坑还特别多。 去年我们给…

C#上位机+ONNX Runtime:毫秒级AI视觉缺陷检测系统落地指南

C#上位机+ONNX Runtime:毫秒级AI视觉缺陷检测系统落地指南

2026/7/16 0:39:32

前言:当"算法Demo"撞上"产线节拍" 在工业视觉圈子里,有一个心照不宣的共识:算法工程师交付的Python Demo和现场实际运行的C#上位机之间,隔着一道巨大的工程鸿沟。 我见过太多这样的项目:算法团队…

DolphinDB实时统计分析:滑动窗口计算

DolphinDB实时统计分析:滑动窗口计算

2026/7/16 0:39:32

摘要 本文深入讲解DolphinDB实时统计分析技术。从滑动窗口原理到窗口函数应用,从实时统计到趋势计算,从多维度分析到性能优化,全面介绍滑动窗口计算的核心方法。通过丰富的代码示例,帮助读者掌握实时统计分析的核心技能。 一、滑…

影刀RPA 报表自动调度:定时查询数据库并生成业务报表

影刀RPA 报表自动调度:定时查询数据库并生成业务报表

2026/7/16 0:29:31

影刀RPA 报表自动调度:定时查询数据库并生成业务报表 作者:林焱 什么情况用什么 大多数公司都有几个"祖传报表":每天早上销售总监要看前一天的销售额,每周一运营总监要看上周的用户增长,每月1号财务要看上…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/16 0:35:09

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/13 20:43:19

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/15 0:26:43

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Python实现跨境电商商品图批量翻译教程

Python实现跨境电商商品图批量翻译教程

2026/7/16 0:09:31

一、问题引入做跨境电商的卖家朋友,你是否遇到过这样的困扰?每次上架新品到亚马逊、Shopee或Lazada等平台,都需要处理大量商品图片的多语言版本。比如上架200款衣服,每款需要翻译成英语、日语、韩语等5种语言,这意味着…

跨境电商多语言商品图翻译方案实现

跨境电商多语言商品图翻译方案实现

2026/7/16 0:09:31

一、问题引入对于做跨境电商的卖家来说,多语言商品图的制作一直是令人头疼的环节。当你准备在亚马逊、Shopee、Lazada等多个平台同步上架新品时,首先遇到的就是图片翻译问题。以一位做家居用品的卖家为例,他需要将200张商品图片中的英文文案全…

Windows系统文件d3dx9_36.dll丢失找不到问题解决

Windows系统文件d3dx9_36.dll丢失找不到问题解决

2026/7/16 0:09:31

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…