描述

启动java项目时,说磁盘不够了,震惊,抓紧看了下,发现是/dev/mapper/centos-root满了。
分析了一下,发现是日志给写满了,可能是nginx的,可能是其他软件写的,存放路径也不相同。
给几个思路,可以排查一下。

思路1

切换到 / 目录下,看下是哪个目录占用的比较大

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

思路2

直接查找大文件,查找大于100m的文件,可以根据实际情况,适当调整查找的文件大小

find / -type f -size +100M

思路3

使用lsof命令查看是否有占用文件的进程

lsof |grep delete

可能包含日志的文件路径

/var/log/
/usr/local/nginx/logs/
/run/log/

查找包含日志的目录

find / -name 'logs'
find / -name 'log'

删除指定格式文件(递归当前及子文件夹)

find ./ -name "*.log"  | xargs rm -f

其他一些命令说明

du -ah
du: 查看文件或目录所占用的磁盘空间的大小。
du -h:查看文件或目录所占用的磁盘空间的大小,以人类可读的单位显示。
du -ah: 显示目录,其下目录和文件占用的磁盘空间大小,带单位。
du -c: 显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和。
du -sh: 查看当前目录总共占的容量,而不单独列出各子项占用的容量。
du -l:在统计目录占用磁盘空间大小时,把硬链接也统计进来。
du -lh --max-depth=1:查看当前目录下一级子文件和子目录占用的磁盘容量。

df -h
df -h:查看linux服务器的文件系统的磁盘空间占用情况。
df -i: 以inode模式来显示磁盘使用情况,显示inode信息而非块使用量。
df --total:显示所有的信息。

free -h
free -h:显示内存状态。

其他

最后也没清理掉,加了块硬盘

用lsblk命令看到sdb这一块200G硬盘

lsblk

在这里插入图片描述
先格式化

fdisk /dev/sdb
p
n
p
回车,使用默认1位置
回车,使用默认开始位置
如果硬盘都分了,就直接回车,或者指定容量如100G就 输入:+100G  然后回车
w

完成写入后,用lsblk看一下,多了sdb1分区

在这里插入图片描述

格式化分区的,增加根目录容量,同步文件到根目录

mkfs.xfs -f /dev/sdb1
pvcreate /dev/sdb1
vgextend centos /dev/sdb1
lvextend -l 100%FREE /dev/mapper/centos-root
xfs_growfs /dev/mapper/centos-root

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ok,再reboot重启下

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐