前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux磁盘空间占满问题快速定位并解决

linux磁盘空间占满问题快速定位并解决

作者头像
编程随笔
发布2019-09-11 15:44:06
4.1K0
发布2019-09-11 15:44:06
举报
文章被收录于专栏:后端开发随笔后端开发随笔

经常会遇到这样的场景:测试环境磁盘跑满了,导致系统不能正常运行! 此时就需要查看是哪个目录或者文件占用了空间。 常使用如下几个命令进行排查:df, lsof,du。

通常的解决步骤如下: 1. df -h 查看是哪个挂在目录满了,常常是根目录/占满

[root@test ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 25G 22G 54% /
tmpfs 7.8G 0 7.8G 0% /dev/shm

2. 快速定位一下应用日志大小情况 比如tomcat日志,应用系统自己的日志等。

3. 如果能直观地看到日志文件过大,则酌情进行删除。有时候删除日志文件之后再df -h查看空间依然被占满,继续排查。 lsof file_name 查看文件占用进程情况,如果删除的日志正在被某个进程占用,则必须重启或者kill掉进程。

[root@test ~]# lsof /usr/local/apache-tomcat-7.0.54/logs/catalina.out
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 7053 root 1w REG 202,1 958123 1180888 /usr/local/apache-tomcat-7.0.54/logs/catalina.out
java 7053 root 2w REG 202,1 958123 1180888 /usr/local/apache-tomcat-7.0.54/logs/catalina.out

4. 如果不能直观地排除出是某个日志多大的原因,就需要看一下指定目录下的文件和子目录大小情况,使用du命令。

du -h --max-depth=1 path | sort -hr #查看目录大小并按照大小倒序展示
[root@test ~]# du -h --max-depth=1 /usr/local/ | sort -hr
2.6G    /usr/local/
1.1G    /usr/local/mysql
358M    /usr/local/jdk1.8.0_121
......

【参考】 http://www.cnblogs.com/peida/archive/2012/12/10/2810755.html 每天一个linux命令(34):du 命令 http://blog.csdn.net/cjf_iceking/article/details/37593963 Linux中删除文件,磁盘空间未释放问题追踪 https://segmentfault.com/q/1010000003044027 linux 删除文件后,如何释放磁盘空间?

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档