系统盘空间/dev/xvda1占满的原因
配置nginx之后,查看磁盘空间,通过df -lh查看发现系统空间满了。。。。。
/dev/xvda1 20G 20G 0G 100% /
然后,通过du --max-depth=1 -h / 查询对应的大文件,发现只占用了2.3G的空间
各种方法找,都找不到大文件,后来在一篇文章中看到,可能是在apache或者tomcat运行的时候删除了对应的日志文件导致的,突然想起来,前几天有一个小伙伴说空间满了,我让他删除了一下tomcat下面的日志,然后没有重启。。。。。。
产生问题的原因:
在apache/tomcat服务在运行状态下,清空了运行服务的日志,从而导致了/dev/xvda1 满了的问题。一般情况下,大多数服务(包括脚本)在运行时,是不能删除当前正在写入的日志文件的。
原理分析:
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也查不到,就会出现硬盘满了但看不到究竟是哪些文件占用的。
解决方法:
重启该日志文件的相关服务或程序,如:为apache日志文件则重启apache(如下图,重启后才硬盘空间占用正常)。
参考:
http://www.android100.org/html/201407/27/46936.html
相关推荐
FrederickBala 2020-06-13
85286837 2020-05-05
lqp 2020-05-09
86236135 2015-05-10
hazing 2016-12-16
少莫千华 2017-04-02
SoarFly00 2018-08-15
vickytong0 2016-12-16
86276537 2019-01-20
igweyou 2013-03-11
cwisdom0 2015-09-27
MichaelChan 2015-04-20
89354453 2013-10-12
LeoChenBlog 2014-10-19
windows2015 2013-12-17
aiya 2013-08-07
internet我最爱 2013-06-30
badun 2013-06-12
梦想软件设计师 2013-05-15