问题描述:
今天测试环境某项目报了500错误。查看部署在同一测试环境的其他项目发现报以下错误:
问题解决:
1、确认分区是否已满:
使用df -h
命令查看磁盘空间使用情况,确认/dev/mapper/centos-root
分区确实已满。
[root@localhost myweb]# df -h 文件系统 容量 己用 可用 已用 % 挂载点 devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.8G 0 3.8G 0% /dev/shm /dev/mapper/centos-root 215G 215G 20k 100% /
2、清理分区
当确认
分区满了时,可以按照以下步骤进行清理:
2.1)找出大文件和目录
第一步:使用du
命令从根目录开始逐层检查每个目录的磁盘占用情况。例如:
du -h --max-depth=1 / | sort -rh | head -n 10
这将列出根目录下占用空间最大的前10个子目录。你可以进一步进入占用空间较大的目录,使用相同的命令继续查找。
[root@localhost www]# du -h --max-depth=1 / | sort -rh | head -n 10 216G / 207G /www 4.5G /usr 2.8G /var 402M /run 357M /etc 237M /git-2.31.0 155M /boot 79M /root 37M /.Recycle_bin
第二步:由以上命令可知 /www 目录占用了207G的磁盘空间,进一步查看www子目录找出实际占用空间的文件。依次进入www下各个子目录执行 du -h --max-depth=1 命令,发现www/server/php/73/var/log 目录下的 php-fpm.log 日志文件占用了201G的内存。
[root@localhost /]# cd www [root@localhost www]# du -h --max-depth=1 204G ./server 2.8G ./wwwroot 36M ./wwwlogs 192M ./backup 0 ./.Recycle_bin 0 ./php_session 207G . [root@localhost www]# cd server [root@localhost server]# du -h --max-depth=1 497M ./panel 202G ./php 4.0K ./stop 36M ./apache 57M ./phpmyadmin 0 ./phpinfo 591M ./mysql 1012M ./data 0 ./bt_tomcat_web 0 ./python_project 0 ./pyporject_evn 0 ./nodejs 0 ./other_project 4.0K ./go_project 644K ./pure-ftpd 160M ./ffmpeg 0 ./proxy_project 0 ./java 0 ./net_project 204G . [root@localhost server]# cd php [root@localhost php]# du -h --max-depth=1 234M ./74 202G ./73 202G . [root@localhost php]# cd 73 [root@localhost 73]# du -h --max-depth=1 34M ./bin 180K ./etc 5.9M ./include 15M ./lib 72K ./php 11M ./sbin 201G ./var 166M ./src 202G . [root@localhost 73]# cd var [root@localhost var]# du -h --max-depth=1 201G ./log 4.0K ./run 201G . [root@localhost var]# cd log [root@localhost log]# du -h --max-depth=1 201G .
2.2)清空、删除或移动不必要的文件:
根据上一步的结果,找到并清空、删除或移动不必要的文件。例如本例中,可执行 truncate -s 0 /www/server/php/73/var/log/php-fpm.log 命令清空log日志文件。
[root@localhost log]# truncate -s 0 /www/server/php/73/var/log/php-fpm.log [root@localhost log]# du -h --max-depth=1 2.0M .
也可通过以下操作处理:
1)删除日志文件
删除日志文件的命令示例:
sudo rm -rf /var/log/old_logs/*
2)清理临时文件:
删除/tmp
和/var/tmp
目录下的临时文件。
sudo rm -rf /tmp/* sudo rm -rf /var/tmp/*
3)清理YUM缓存:
使用yum clean all
命令清理YUM缓存。
sudo yum clean all
4)删除旧的内核文件:
使用package-cleanup
命令删除旧的内核文件。
sudo package-cleanup --oldkernels --count=1
5)清理Docker日志:
如果Docker占用了大量磁盘空间,可以清空Docker容器的日志文件。
cat /dev/null > /var/lib/docker/containers/*/*-json.log
6)查找并删除僵尸进程:
有时文件被删除但进程仍然占用空间,可以通过lsof
命令查找并删除这些僵尸进程。
lsof | grep delete kill -9 进程ID
2.3)扩展磁盘空间:
如果以上步骤仍然无法释放足够的空间,可以考虑扩展磁盘空间。这通常涉及到添加额外的硬盘或调整分区大小,需要谨慎操作。
3、确认清理效果
清理完成后,再次使用df -h
命令确认/dev/mapper/centos-root
分区的空间是否得到释放。
[root@localhost myweb]# df -h 文件系统 容量 己用 可用 已用 % 挂载点 devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.8G 0 3.8G 0% /dev/shm /dev/mapper/centos-root 215G 23G 193G 11% /
注意:在进行任何删除操作之前,务必备份重要数据,以防误删导致数据丢失。


本文链接:https://www.kinber.cn/post/5103.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: