Linux系统下提示磁盘空间满,但实际占用却很小

Linux系统下提示磁盘空间满,但实际占用却很小

        因为公司放在测试服务器上的服务比较多,磁盘经常性会满。以前满过几次,因为时间比较赶,每次只是草率的删掉一点log或者临时文件,到今天早上又发生一起事故,依然是磁盘空间满,看了一下好像没什么东西可以删了,才静下心来慢慢研究解决。

系统:Ubuntu14.04 x64 
磁盘名称:/data
磁盘空间:200G

错误描述:

    今早发现磁盘空间满,服务数据写不进数据库中,使用du -h --max-depth=1命令查看大文件,发现文件只占100G,然而使用df -h 命令查看时,磁盘用了200G占用了百分之一百。其中100G的空间莫名其妙就没有了

解决方法:

    用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象。可以通过命令 lsof |grep deleted 来进行查看


把这些进程删掉就可以了,批量杀死进程命令

lsof |grep delete | grep -v grep | awk '{print $2}' | xargs kill -9

期间可能会等一段时间,等杀完后,重新 df -h 查看,磁盘空间多出来了87G



最后记得!!!!

        把服务重启一下!!!因为杀掉进程的时候,某些文件进程是apache或者mysql的,所以会连带着把他们也一起删掉了,千万记得查看一下服务是否还在运行,如果服务不在了,要手动开一下!
  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux环境下,处理磁盘空间,导致数据库无法正常使用的处理方法: 第一步:查看磁盘空间的使用情况 df -f 第二步:找到日志文件,并清理 1) 进入跟目录 cd / 2)查找日志文件(区分大小写) find -name *.Log; find -name *.log; find -name *.000; 第三步:进入到相应的目录,并删除日志文件 如: cd ./home1/data/db2inst2/NODE0000/SQL00001/SQLOGDIR/; rm -f *.LOG; 或者 rm -f *.log; 或者 rm -f *.000; linux下DB2管理命令 1:进入实例 su - db2inst2 2:查看某个库的表空间 db2pd -tablespaces -db mcmxfb 3:查看这个模式下所有活动库的表空间 db2pd -tablespaces -alldbs option and active database; 4: 系统重启后,对数据库的重启,首先要进入到实例下,再执行重启数据库的命令。系统会重启这个实例下的各个数据库 db2start; (注意,不同的实例,要分别进入各个实例,再重启); root用户下,重启系统的方法: 重启命令: 1、reboot 2、shutdown -r now 立刻重启(root用户使用) 3、shutdown -r 10 过10分钟自动重启(root用户使用) 4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 关机命令: 1、halt 立刻关机 2、poweroff 立刻关机 3、shutdown -h now 立刻关机(root用户使用) 4、shutdown -h 10 10分钟后自动关机 Linux环境下,磁盘空间,导致db2数据库无法正常使用。这里解决的,主要是日志文件和环境文件占用磁盘空间太多所引起问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值