Linux磁盘空间不足,12个详细的排查方法

在Linux系统运维过程中,磁盘空间不足是一个常见且棘手的问题。当磁盘空间被占满时,系统的正常运行会受到影响,甚至可能导致服务中断。因此,迅速有效地排查和解决磁盘空间问题显得尤为重要。本文将详细介绍16个排查Linux磁盘空间问题的详细方法,帮助运维人员快速定位问题并解决。

1:使用df命令查看磁盘使用情况

df命令是Linux系统中用于查看文件系统磁盘空间使用情况的工具。通过运行以下命令,可以查看各个挂载点的磁盘使用情况:

df -h

该命令会以易读的格式(如GB、MB等)显示每个挂载点的总空间、已用空间、可用空间和挂载点等信息。通过此命令,可以快速定位哪个挂载点的空间使用率较高。

2:使用du命令查找大文件或目录

如果通过df命令发现某个挂载点的空间使用率较高,接下来可以使用du命令来查找该挂载点下占用空间较大的文件或目录。以下是一些常用的du命令示例:

• 查看当前目录下每个子目录的磁盘使用情况:

du -sh *

• 递归查看当前目录及其子目录下的磁盘使用情况,并只显示前N层目录的总大小:

du -h --max-depth=N

• 查找并排序显示当前目录及其子目录下占用空间最大的前N个文件或目录:

du -ah . | sort -rh | head -n N
3:检查隐藏文件和目录

有时,一些隐藏文件或目录(以.开头的文件或目录)可能会占用大量磁盘空间。可以通过以下命令来查找隐藏文件或目录的大小:

du -sh .[!.]*

该命令会显示当前目录下所有隐藏文件或目录的大小。

4:检查系统日志文件

系统日志文件是记录系统运行时产生的各种信息的文件,如/var/log目录下的各种日志文件。这些日志文件可能会随着时间的推移而不断增长,占用大量磁盘空间。可以通过以下命令查看这些日志文件的大小:

du -sh /var/log/*

如果发现某个日志文件特别大,可以考虑对其进行压缩、轮转或清理。

5:清空文件内容以释放空间

对于找到的每个被删除但仍然占用空间的文件,您可以通过将其内容清空来释放空间。这可以通过
重定向空内容到文件描述符来实现,例如:

echo >/proc/PID/fd/FD_NUM

其中PID是进程的ID,FD_NUM是文件描述符的数字;这个操作不会删除文件,而是将文档内容清空的方法释放空间,文件仍存在。

6:检查用户主目录

用户主目录下的个人文件可能会占用大量磁盘空间。可以通过以下命令查看每个用户主目录的大小:

du -sh /home/*

如果发现某个用户的主目录特别大,可以进一步查看该用户目录下的文件大小,并与其沟通进行清理。

7:检查Docker容器和镜像

如果系统中运行了Docker容器,那么Docker镜像和容器文件系统也可能会占用大量磁盘空间。可以通过以下命令查看Docker镜像和容器的大小:

docker system df

对于不再需要的镜像或容器,可以进行删除以释放空间。

8:检查未释放的磁盘空间

有时,即使删除了大量文件,磁盘空间可能仍然没有释放。这可能是因为被删除的文件仍然被某些进程占用。可以通过以下命令查找被占用的已删除文件:

lsof | grep deleted

如果找到了被占用的已删除文件,可以尝试重启占用这些文件的进程以释放空间。

9:检查文件系统错误

最后,如果以上方法都无法解决问题,可能需要检查文件系统是否存在错误。可以使用fsck命令来检查和修复文件系统错误。但请注意,在运行fsck命令之前,必须卸载文件系统或在单用户模式下运行该命令。

umount /dev/sdXN
fsck /dev/sdXN

其中,/dev/sdXN是要检查的文件系统对应的设备文件。

当然,除了上述十种方法外,还有一些额外的步骤和工具可以帮助进一步排查和解决Linux磁盘空间问题。以下是几个额外的补充方法:

10:检查并清理软件包缓存

在Linux系统中,安装和更新软件包时,系统会缓存下载的软件包文件。随着时间的推移,这些缓存文件可能会占用大量磁盘空间。对于基于Debian的系统(如Ubuntu),可以使用以下命令清理APT缓存:

sudo apt-get clean

对于基于RPM的系统(如CentOS、Fedora),可以使用以下命令清理YUM缓存:

sudo yum clean all
11:检查并清理内核模块

在Linux系统中,随着内核的更新,旧的内核模块可能会被保留下来,占用磁盘空间。可以使用以下命令列出所有安装的内核,并手动删除不再需要的旧内核:

dpkg --list | grep linux-image

(对于基于Debian的系统)或

rpm -qa | grep kernel

(对于基于RPM的系统)

然后,可以使用相应的包管理工具(如dpkg -rrpm -e)来卸载不再需要的内核包。

12:使用磁盘使用分析工具

除了手动使用dfdu命令外,还可以使用一些磁盘使用分析工具来更直观地查看磁盘使用情况。例如,ncdu是一个基于ncurses的磁盘使用分析工具,可以提供交互式界面来浏览和删除文件。

sudo apt-get install ncdu  # 对于基于Debian的系统
sudo yum install ncdu      # 对于基于RPM的系统
sudo ncdu /

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/956479.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot和PostGIS的各国及所属机场信息检索及可视化实现

目录 前言 一、空间数据简介 1、全球国家信息表 2、机场信息表 3、国家机场检索实现 二、SpringBoot后台实现 1、模型层实现 2、控制层实现 三、WebGIS可视化实现 1、Leaflet界面实现 2、国家及其机场可视化成果 3、全球机场数量排行榜 四、总结 前言 新春佳节即将…

MLMs之Agent:Phidata的简介、安装和使用方法、案例应用之详细攻略

MLMs之Agent:Phidata的简介、安装和使用方法、案例应用之详细攻略 目录 Phidata简介 Phidata安装和使用方法 1、安装 2、使用方法 (1)、认证 (2)、创建 Agent (3)、运行 Agent (4)、Agent Playground Phidata 案例应用 1、多工具 Agent 2、多模态 Agent …

【机器学习实战入门项目】使用深度学习创建您自己的表情符号

深度学习项目入门——让你更接近数据科学的梦想 表情符号或头像是表示非语言暗示的方式。这些暗示已成为在线聊天、产品评论、品牌情感等的重要组成部分。这也促使数据科学领域越来越多的研究致力于表情驱动的故事讲述。 随着计算机视觉和深度学习的进步,现在可以…

【ArcGIS微课1000例】0140:总览(鹰眼)、放大镜、查看器的用法

文章目录 一、总览工具二、放大镜工具三、查看器工具ArcGIS中提供了三种局部查看的工具: 总览(鹰眼)、放大镜、查看器,如下图所示,本文讲述这三种工具的使用方法。 一、总览工具 为了便于效果查看与比对,本实验采用全球影像数据(位于配套实验数据包中的0140.rar中),加…

从零搭建一套远程手机的桌面操控和文件传输的小工具

从零搭建一套远程手机的桌面操控和文件传输的小工具 --ADB连接专题 一、前言 前面的篇章中,我们确定了通过基于TCP连接的ADB控制远程手机的操作思路。本篇中我们将进行实际的ADB桥接的具体链路搭建工作,从原理和实际部署和操作层面上,从零…

ROS2 与机器人视觉入门教程(ROS2 OpenCV)

系列文章目录 前言 由于现有的ROS2与计算机视觉(特别是机器人视觉)教程较少,因此根据以往所学与积累的经验,对ROS2与机器人视觉相关理论与代码进行分析说明。 本文简要介绍了机器人视觉。首先介绍 ROS2 中图像发布者和订阅者的基…

JVM 面试八股文

目录 1. 前言 2. JVM 简介 3. JVM 内存划分 3.1 为什么要进行内存划分 3.2 内存划分的核心区域 3.2.1 核心区域一: 程序计数器 3.2.2 核心区域二: 元数据区 3.2.3 核心区域三: 栈 3.2.4 核心区域四: 堆 4. JVM 类加载机制 4.1 类加载的步骤 4.1.1 步骤一: 加载 4…

我的世界-与门、或门、非门等基本门电路实现

一、红石比较器 (1) 红石比较器结构 红石比较器有前端单火把、后端双火把以及两个侧端 其中后端和侧端是输入信号,前端是输出信号 (2) 红石比较器的两种模式 比较模式 前端火把未点亮时处于比较模式 侧端>后端 → 0 当任一侧端强度大于后端强度时,输出…

【2024年华为OD机试】 (B卷,100分)- 字符串分割(Java JS PythonC/C++)

一、问题描述 题目解析 问题描述 给定一个非空字符串 s,要求将该字符串分割成若干子串,使得每个子串的 ASCII 码值之和均为“水仙花数”。具体要求如下: 若分割不成功,则返回 0;若分割成功且分割结果不唯一&#x…

Elasticsearch 和arkime 安装

安装一定要注意版本号,不然使用不了 这里Ubuntu使用ubuntu-20.04.6-desktop-amd64.iso elasticsearch这里使用Elasticsearch 7.17.5 | Elastic arkime这里使用wget https://s3.amazonaws.com/files.molo.ch/builds/ubuntu-20.04/arkime_3.4.2-1_amd64.deb 大家想…

简述mysql 主从复制原理及其工作过程,配置一主两从并验证。

MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。 MySQL主从同步是基…

MySQL 主从复制原理及其工作过程的配置

一、MySQL主从复制原理 MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作…

多平台下Informatica在医疗数据抽取中的应用

一、引言 1.医疗数据抽取与 Informatica 概述 1.1 医疗数据的特点与来源 1.1.1 数据特点 医疗数据具有显著的多样性特点。从数据类型来看,涵盖了结构化数据,如患者的基本信息、检验检查结果等,这些数据通常以表格形式存储,便于…

智能创造的幕后推手:AIGC浪潮下看AI训练师如何塑造智能未来

文章目录 一、AIGC时代的算法与模型训练概览二、算法与模型训练的关键环节三、AI训练师的角色与职责四、AI训练师的专业技能与素养五、AIGC算法与模型训练的未来展望《AI训练师手册:算法与模型训练从入门到精通》亮点内容简介作者简介谷建阳 目录 《AI智能化办公&am…

有限元分析学习——Anasys Workbanch第一阶段笔记(13)网格单元分类、物理场与自由度概念

目录 0 序言 1 网格单元分类 2 各类单元的应用 3 massage与帮助和查看 4 物理场和自由度 4.1 各种单元自由度 4.2 结构自由度 0 序言 本章主要讲解网格单元的分类及物理场和自由度的相关概念。 1 网格单元分类 按单元的形状分类:实体单元、壳单元和杆梁单元…

RC2在线加密工具

RC2是由著名密码学家Ron Rivest设计的一种传统对称分组加密算法,它可作为DES算法的建议替代算法。RC2是一种分组加密算法,RC2的密钥长度可变,可以从8字节到128字节,安全性选择更加灵活。 开发调试上,有时候需要进行对…

深度学习笔记——循环神经网络RNN

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍面试过程中可能遇到的循环神经网络RNN知识点。 文章目录 文本特征提取的方法1. 基础方法1.1 词袋模型(Bag of Words, BOW)工作原…

.NET周刊【1月第1期 2025-01-05】

国内文章 3款.NET开源、功能强大的通讯调试工具,效率提升利器! https://www.cnblogs.com/Can-daydayup/p/18631410 本文介绍了三款功能强大的.NET开源通讯调试工具,旨在提高调试效率。这些工具包括LLCOM,提供串口调试和自动化处…

AT8870单通道直流电机驱动芯片

AT8870单通道直流电机驱动芯片 典型应用原理图 描述 AT8870是一款刷式直流电机驱动器,适用于打印机、电器、工业设备以及其他小型机器。两个逻辑输入控制H桥驱动器,该驱动器由四个N-MOS组成,能够以高达3.6A的峰值电流双向控制电机。利用电流…

创建 pdf 合同模板

创建 pdf 合同模板 一、前言二、模板展示三、制作过程 一、前言 前段时间要求创建“pdf”模板,学会了后感觉虽然简单,但开始也折腾了好久,这里做个记录。 二、模板展示 要创建这样的模板 三、制作过程 新建一个“Word”,这里命…