有时候因为磁盘爆满,导致某些服务起不来。今天我们来讲解一下Linux磁盘爆满如何解决

步骤一: 遇到磁盘空间不足的情况时,先用df -h查看磁盘空间的使用情况,分析是哪个路径下的磁盘满了。

df 是 disk free 的缩写,用于显示目前在 Linux 系统上的文件系统磁盘的使用情况统计。

磁盘爆满如何解决?_文件系统

第一列 Filesystem 代表文件系统的名称;第二列 Size 表示文件系统的大小;第三列 Used 表示已占用多大的磁盘空间;第四列 Avail 表示可用磁盘空间的大小;第五列 Use% 表示磁盘使用率多大,100% 表示磁盘占满了;第六列 Mounted On 表示挂载在哪个目录。

从上面结果可以看到,有个文件系统占有率为88%,为/dev/mapper/centos-root,挂载的目录为/,我们进入这个目录 看下具体情况。假设根目录磁盘占用比较高,我们去跟目录里排查一下

步骤二: 进入对应的目录下,查找磁盘空间中的大文件。使用 du 命令来显示目录或文件所占用的磁盘空间大小

cd /
#使用 du 命令来显示目录或文件所占用的磁盘空间大小
du -x -h --max-depth=1

# 列出当前目录或文件的总大小,并按倒叙排序
du -sh /* | sort -nr

磁盘爆满如何解决?_linux_02

可以看到/var目录下占比较大,最下面的44G是总的占用空间大小。

步骤三: 进入/var目录下,再查找定位

cd /var
du -x -h --max-depth=1

磁盘爆满如何解决?_linux_03

可以发现/lib这个目录占用较大,进入后发现/debug占用较大

磁盘爆满如何解决?_mysql_04

这样一层一层递进查找。如果发现某个目录下的文件占用过大,可以适当删除不必要的文件或目录、清理临时文件,以释放磁盘空间;或者增加磁盘空间。rm -rf /path/to/unneeded_files_or_directoriesrm -rf /tmp/*

磁盘爆满如何解决?_文件系统_05

#  释放磁盘空间

#删除不必要的文件或目录
rm -rf /path/to/unneeded_files_or_directories
#清理临时文件
rm -rf /tmp/*



#  增加磁盘空间

#譬如 添加新的磁盘分区并挂载到 MySQL 数据目录下
# 创建新的分区
sudo fdisk /dev/sdb
# 格式化分区
sudo mkfs.ext4 /dev/sdb1
# 创建挂载点
sudo mkdir /mnt/mysql_data
# 挂载新的分区
sudo mount /dev/sdb1 /mnt/mysql_data


步骤四: 除了上面逐层定位的方法,我们可以直接查找出大文件,使用命令find /root -size +500M

磁盘爆满如何解决?_linux_06