当前位置:论坛首页 > Linux面板 > Linux面板教程

Linux服务器空间满了怎么处理

发表在 Linux面板2019-11-1 18:19 [复制链接] 5 6878

Linux服务器空间满了怎么处理

一、如何提前发现服务器空间快满了

    一般来说我们可以通过以下方式来监控服务器运行状态当有异常时及时给我们反馈以免造成不必要的损失

    1、部署监控软件监控服务器状态
    2、安装宝塔异常消息推送

二、在得知磁盘快满时改如何排查

    1、登录ssh检查确认是哪个分区满了从下图可以看到是 / 分区快满了
    t1.png

   2、如何定位是哪些文件把空间占满了
   解:
   使用
  1. du -sh *
复制代码

命令

   我们先进入快满的分区
  1. cd /
复制代码

   然后运行
  1. du -sh *
复制代码

发现是www目录占的空间最大
          t2.png

   继续上面的操作方法进入 /www 目录,运行 du -sh *命令。
   几经周转最后发现是
   /www/server/php/73/var/log/php-fpm.log 占用了3.4g

          t3.png   

三、清理空间

    1、删除占用空间的文件
        发现占用空间的文件后一般会认为直接删除文件就行,然而有时候却并不见效
        我们删除刚刚找到的php-fpm.log文件(3.4G)
        执行删除命令
  1. rm -f /www/server/php/73/var/log/php-fpm.log
复制代码

        再查看硬盘空间

         t4.png

    看上去并没有变化这是为什么呢?

    2、查找进程占用的文件
        有时候在我们直接删除文件文件其实并真正被删除,比如有进程在占用这个文件时需要等进程释放后空间才会被释放,这里我们有两种方法处理

    1)重启占用文件的进程
     在面板重启php73 或执行在shell重启即可释放硬盘
  1. /etc/init.d/php-fpm-73 restart
复制代码

    2)使用lsof命令找占用文件的进程并杀死
        执行命令
  1. lsof |grep deleted   
复制代码
      #找到占用删除文件的进程,在找不到有大文件占用空间但空间确实被占满时有奇效
         t5.png
    红框内就是我们要找的进程
    执行命令
  1. kill -9 9391
复制代码
    杀死进程
    再看空间已经释放了,收工

         t6.png

总结:
找出占用大量空间的文件的命令
  1. du -sh *   
复制代码
#用于分析当前目录下所有目录、文件分别占用空间的大小
找出占用删除文件的进程
  1. lsof|grep deleted
复制代码

#找到占用删除文件的进程,在找不到有大文件占用空间但空间确实被占满时有奇效
使用道具 举报 只看该作者 回复
发表于 2019-11-1 18:23:13 | 显示全部楼层
不错的教程 学习了
使用道具 举报 回复 支持 反对
发表于 2019-11-1 18:27:01 | 显示全部楼层
顶你
使用道具 举报 回复
发表于 2019-11-22 18:35:24 | 显示全部楼层
那可以每天定时去删除指定的文件吗?比如说我想删除缓存文件,每天定时自动去删除文件
使用道具 举报 回复 支持 反对
发表于 2020-1-25 02:21:34 | 显示全部楼层
Mark一下
使用道具 举报 回复
发表于 2021-11-23 13:20:51 | 显示全部楼层
du -sh *出现No such file or directory。怎么解决呀
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表