ubuntu16系统磁盘空间/dev/vda1占用满的问题

参考文档:

https://www.cnblogs.com/moonandstar08/p/6091507.html (系统磁盘空间/dev/xvda1占满原因分析)

https://blog.csdn.net/echo_ae/article/details/79387767  (/dev/xvda1 满了处理方法)

引言

  我是在使用zookeeper的时候,zookeeper服务端没有关闭的情况下,人为的使用命令删除了bin目录下的zookeeper.out日志文件,所以导致/dev/vda1磁盘空间被占满的问题。

现状描述:当我使用cd命令切换目录并且用了tab补充命令时报了“cd ../c-bash: cannot create temp file for here-document: No space left on device”这个问题。(vda1这里为123的1)

分析(直接从上面的参考 文档中copy的):

(1)产生问题的原因:

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

原理分析:

 a.  当前access.log日志正在被apache进程占用。
 b.  通过rm命令删除access.log,实际只删除了文件名(该日志文件应用记数不为0,因此空间不会被释放)。
 c.  通过rm命令删除了access.log后,apache依然写日志到access.log中,当开启apache进程时,已经通过access.log定位到该文件的inode了,就是说再写日志是不通access.log,
    因此即使删除了access.log,apache依然写日志到access.log所在的inode节点,所以导致硬盘空间增加。
 d.  因为删除了access.log,所以我们就找不到该文件了,du也查不到,就会出现硬盘满了但看不到究竟是哪些文件占用的。

 

扫描二维码关注公众号,回复: 2722067 查看本文章

解决办法:

(1) 使用 df -h 发现 /dev/vda1满了 多数为日志太多了 需要清理日志 ,如图:

(2) 进入到/usr/local/zookeeper01/bin目录,然后通过命令du -sh * ,如图:

原本才十几k的文件,居然变成了2.3g.

然后输入命令 ./zkServer.sh stop 停止服务,再去清除zookeeper.out日志文件,

 >zookeeper.out :该命令为清除日志的命令,清除以后在查看,如图,

如此,问题得到解决!

猜你喜欢

转载自www.cnblogs.com/shiyun32/p/9463601.html