文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

快手二面,磁盘异常爆满如何排查?

2024-11-28 16:21

关注

图片图片

一般遇到磁盘爆满的告警,第一步要做的就是确认告警信息是否正确,登录服务器,通过 df -Hl 查看:

图片图片

可以看到 /dev/vda1 占据了 43G 的内存,和告警信息一致,接着我们就是要找到导致磁盘空间满的具体目录或文件。

如何定位占用大量磁盘空间的目录或文件?

一种基础的做法是,在根目录下执行du -hs命令,列出各个目录的大小。

图片图片

为了进一步细化,可以进入具体的目录重复该操作。这种方法虽然简单,但不够高效。

更优的方法是使用du命令的-d参数(或--max-depth参数),设置目录扫描的深度。扫描深度越大,输出的结果会越多,此时可以通过grep过滤不必要的信息。

du -h -d 2 | grep [GT] | sort -nr  
du -h --max-depth=2 | grep [GT] | sort -nr

这种方式可以快速筛选出以G或T为单位的大目录,并按大小排序。

另一种更高效的方法是使用find命令:

find / -type f -size +1G -exec du -h {} \;

相较于du,find更加灵活和快速。通过这两种方式,可以迅速定位占用磁盘空间的文件或目录。

磁盘空间不一致的情况

然而,事情并不总是这么简单。有时你可能会发现,使用find或du查找到的文件占用空间与df命令显示的磁盘使用量相差甚远。比如上图我们使用du -hs查看根目录下所有文件的总和就只有10G左右,但 df显示磁盘占用了37G,没有隐藏目录的情况下,剩余的空间去了哪里?

这种现象通常是由被删除的文件占用空间但未释放资源导致的。虽然文件被删除了,但系统还没有真正释放其占用的空间。

此时,我们可以使用lsof命令来检查是否有未完全释放的文件:

lsof +L1

图片图片

从上图结果中可以看到,有一个被删除但仍占用约28G空间的日志文件。这是比较常见的情况。解决方法是重启相关应用(如Tomcat),以释放这些被占用的空间。

磁盘空间被系统保留

有时候,你可能还会发现df命令显示的Used和Available空间之和小于Total大小,似乎有部分空间"消失"了。

图片图片

这实际上是Linux文件系统的安全机制。默认情况下,系统会为root用户预留5%的磁盘空间,用于紧急情况。这样可以确保关键应用(如数据库)在磁盘满时仍有少量空间,避免崩溃。

如果需要释放这部分保留空间,可以使用tune2fs命令调整预留空间的比例:

tune2fs -m 1 /dev/vda1

上述命令执行后将只保留 1G 的安全空间:

图片 图片

来源:飞天小牛肉内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯