目录
- 1. 基本知识
- 2. 实战
本身自搭建了一个宝塔,突然一下子多了好些空间,对此需要进行额ygbOvCg外小心的http://www.devze.com清理
1. 基本知识
先补充一些基本知识命令
确认哪个大目录占用空间:
- 在 / 下跑 du 命令,比如:
sudo du -h --max-depth=1 /
-h
:人类可读(G/M单位)--max-depth=1
:只看一层,不要递归太深/
:从根目录开始
找不到明显异常,也可以直接搜索大文件:sudo find / -type f -size +500M -exec ls -lh {} \; | sort -k5 -rh | head -n 20
截图如下:
上述这几个命令着重讲解下,别乱删除(最好删除一些log日志文件之类,不清楚的文件不要乱删除)
文件 大小 | 是否可以清理 | 说明 |
---|---|---|
/propythonc/kcore 128T(假的) | 不能动 | 这是虚拟内存文件,内核自己用的,看着大不用管,不能删 |
/www/wwwlogs/Java/springboot/eng-1.log | 3.9G | 可以清理 springboot 应用日志,太大了,可以清空或者按需保留 |
/www/server/data/ruoyi@002dvue@002dpro/infra_api_Access_log.ibd | 592M | 谨慎处理 mysql数据库表文件,最好别直接删,除非确定是无用表 |
对应清空日志文件可以使用:> /www/wwwlogs/java/springboot/eng-1.log
再者也可查询各个相关的日志记录:
du -sh /www/wwwlogs/* du -sh /var/log/* # 如果服务器装了 mysql,也要看看: sudo du -sh /var/lib/mysql/* # 查询网址备份文件 du -sh /www/backup/*
2. 实战
上述内容根据实战总结,有时候一些空间可以不必清理,可能为 缓存、假死文件需要重启才可
比如如下情况:
sudo du -h --max-depth=1 /
总共加起来只有 53G 左右
但是 df -h 看到 / 分区已经用了 269G
重启各个应用或者 重启服务是最好的
这种情况,建议重启下Java的各个应用或者网站应用:ps -ef | grep java
发现有两个Java进程,但是查询端口号的时候发现挂载的进程号是最新的日期,既可以把旧的进程号kill即可:ss -ygbOvCgtnlp | grep 48080
也可能是删除但忍让占用的文件,被程序正在占用文件描述符(FD)
# 直接执行 lsof | grep deleted #也可通过上述执行的 sudo find / -type f -size +500M -exec ls -lh {} \; | sort -k5 -rh | head -n 20 # 特意找到对应文件大的名字: lsof | grep '/.Recycle_bin/' | grep deleted
截图如下:
可以对应进行kill -9 进程号,但保守一些还是重启
这也更好的说明为啥df 和 dh都不大一样
比如查看:lsof | grep deleted | awk '{print $7/1024/1024 " MB", $9}' | sort -rn | head -n 20
发现最大的文件占用200G
但是到对应的文件缺没有显示,显示为空!这种情况一般重启是最好用,直接释放!
linux有个机制:
- 文件在被删除以后,只要还有进程持有,物理空间不会真正释放。
- 必须要等进程彻底关闭文件描述符ygbOvCg,操作系统才回收
以上就是Ubuntu磁盘空间占用清理的方法详解(宝塔)的详细内容,更多关于Ubuntu磁盘空间清理的资料请关注编程客栈(www.devze.com)其它相关文章!
精彩评论