Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
分享到: 分享到QQ  分享到Twitter

作者: kideny    访问次数: 364 创建时间: 2023-10-06 13:51:31 更新时间: 2024-04-27 20:22:09

最近把服务器的PHP版本升级到8.2,结果因为一个不兼容的问题被频繁触发,导致Docker镜像的日志暴涨。然后,磁盘占用100%了,Linux服务器直接嘎掉。今天跟大家分享一下,如果遇到服务器磁盘占用100%,该如何解决。

 

第一步:使用如下命令查看服务器磁盘占用

 

df -lh

 

该命令查询Linux服务器的磁盘占用,如果发现磁盘占用100%,再用以下命令查询。

 

第二步:使用如下命令,查询根目录下的所有文件夹的磁盘占用容量
 

du -h --max-depth=1 /

 

这个命令非常的有用,可以快速判断,到底是哪个根目录下的目录,把磁盘占满了。

通常/home会放web程序,而Docker的镜像和容器,还有日志等则出现在/var目录下。如果发现/var目录,占用空间异常,那继续使用其他命令排除。

 

第三步:使用如下命令,深入docker目录,查看到底是哪个容器的日志爆了

 

du -h --max-depth=1 /var/lib/docker/overlay2

overlay2,目录下有很多得文件夹,需要找到出问题的容器。使用这个命令,继续深入追踪,直到找到日志暴涨的容器。日志文件,一般是个JSON文件,先把他删除,解决服务器磁盘满了的问题。

 

第四步:排查程序,找到导致容器日志暴涨的原因

 

前面三步,主要是解决服务器磁盘爆满的方法。归根到底,要解决问题,还是得去排查程序,找到代码的问题,彻底解决容器日志暴涨得原因。

 

总结

 

如果你刚好碰到跟我类似的问题,可以在项目的启动文件,添加一行代码,抑制不兼容的报错。

error_reporting(E_ALL ^ E_DEPRECATED);

这样就会避免升级PHP版本,导致容器产生天量的不兼容日志。

季度最有价值文章

月度最有价值文章

帖子投票

名称 是否有价值
kideny

投票统计

是否原创: 100 %

100 % Complete (success)

是否有价值: 100 %

100% Complete

是否有素质: 100 %

100% Complete (warning)

是否合法: 100 %

100% Complete

   群组工具

   外部链接