linux磁盘空间满处理情况

使用df -h命令查看空间使用情况,磁盘空间使用了100%。

常规方法,清日志、删除无用的文件。删除后再次查看空间大小。

现在遇到的情况是,使用du --max-depth=1 -h /  命令查看,各目录使用空间总和只占空间一部分,远没有达到100%的使用率。

原因:系统磁盘空间未释放,可能原因是忽略了有应用一直在往其中写数据,直接删除某文件无法释放磁盘空间。

 

操作步骤:

1、执行   lsof | grep deleted  发现有大量刚刚删除文件的进程存在,kill掉进程(或者重启进程)

2、lsof | grep deleted |wc -l 可以看到有多少个进程。

3、需要kill进程数量多时,使用命令。

lsof | grep deleted | awk '{if (NR > 1){print $2}}'|uniq | xargs kill -9

    awk '{if (NR > 1){print $2}}',获取第二列

        uniq,去重复

        xargs kill -9 ,就是将获取第二列,再通过uniq去重的值,传递给xargs,然后kill -9 进程号

 

4、再查看空间使用率,已经降下来了。此次再启相关的应用。

 

清日志时,可以使用此种方式。 echo “ ” 》/tmp/acess.log

通过这种方法,磁盘空间不但可以马上释放,也可使用进程继续向文件写入日志

 

当然也可以有多种方式避免日志空间满

比如,在定时任务里执行,contab -e

* 1,7,13,19 * * * for i in `find / -type f -regex '.*\.log\|.*\.out\|.*\.txt' -size +100M  2>/dev/null`; do echo >$i; done

定时任务检查指定文件类型超过100M,则会清日志。

find . -type f -size +100M | grep -E '.out$|.log$|.txt$' | awk '{cmd="echo > "$0;system(cmd)}'
 
 

 

posted @   milkty  阅读(672)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示