欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Linux很实用的命令查找软件安装目录
如何使用Win7+IIS7发布网站或服务步骤
iis日志无法生成解决办法
linux系统如何休眠
Linux系统下如何实现快速的文件搜索
Windows Server 2012 R2 SMB PowerShell命令
服务器软件的安全“隐患”
企业私有云调整有4个注意事项
2014年充分利用云计算的五大策略
如何安全的迁移和维护云服务
Linux服务器磁盘占满问题解决
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   今天下班某电商技术部leader发现个问题,说他们服务器硬盘满了。把日志文件都删掉了,可硬盘空间依旧满。于是df -h查看了下各个挂载点的状况(如下图)。

Linux服务器磁盘占满问题解决 三联

  /dev/sda3占用了100%,那么我们du -s -h ./*看下目录的占用情况(如下图)。

  linux磁盘挂载点目录占用情况(图)

  挂载点下的目录之和远小于4.5G,那么是什么占用了硬盘呢?

  以下为该问题的解答:

  在apache/tomcat服务在运行状态下,清空了运行服务的日志,从而导致了/dev/sda3 满了的问题。一般情况下,大多数服务(包括脚本)在运行时,是不能删除当前正在写入的日志文件的。

  原理分析:

  1. 当前access.log日志正在被apache进程占用。

  2. 通过rm命令删除access.log,实际只删除了文件名(该日志文件应用记数不为0,因此空间不会被释放)。

  3. 通过rm命令删除了access.log后,apache依然写日志到access.log中,当开启apache进程时,已经通过access.log定位到该文件的inode了,就是说再写日志是不通过access.log,因此即使删除了access.log,apache依然写日志到access.log所在的inode节点,所以导致硬盘空间增加。

  4. 因为删除了access.log,所以我们就找不到该文件了,du也查不到,就会出现硬盘满了但看不到究竟是哪些文件占用的。

  (写的不甚详细,不明白的大家再google下。)

  解决方法:

  重启该日志文件的相关服务或程序,如:为apache日志文件则重启apache(如下图,重启后才硬盘空间占用正常)。

磁盘占用恢复正常(图)

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站