0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

服务器运维过程收到磁盘空间告警怎么办

马哥Linux运维 来源:马哥Linux运维 作者:马哥Linux运维 2022-11-03 10:30 次阅读

在服务器运维过程中,我们时常会遇到这样的情况,收到服务器磁盘空间告警:

93dc3f1c-5ac2-11ed-a3b6-dac502259ad0.png

登录服务器,通过df -Hl查看

93ef809a-5ac2-11ed-a3b6-dac502259ad0.png

和告警信息一致,接着我们就是要找到导致磁盘空间满的目录或文件。

如何找到占用空间大的目录或文件?

一种比较笨的方法是,在根目录下,通过du -hs命令,列出各目录所占空间大小

94044570-5ac2-11ed-a3b6-dac502259ad0.png

之后再用同样的方法继续到对应目录下去找

再相对高效一点的方法是通过du的-d参数,或--max-depth,设置查询的目录深度,目录深度增加,所查询的目录,展示出来会很多,这个时候可以通过grep进行过滤。

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

通过这样的方式,可以搜出以G或者T为单位的占用磁盘空间的大目录,并排序

或者可以通过find来查询

find/-typef-size+1G-execdu-h{};

从效率上来说,find要比du要更快速、灵活。

通过这两种方法,我们可以快速找到占用磁盘空间的罪魁祸首。

你以为就这么简单?很多时候,你会发现,通过find或du查半天,发现所有加起来的占用空间,和df看到的磁盘空间占用,相差很大,就比如我上面的两张图。

通过df查看,磁盘使用37G,但是在根目录下通过du -hs 查看,总共加起来差不多10G,没有隐藏目录,那空间被谁吃了?

很明显,有空间被已删除文件占用,文件删除了,但是资源没释放。

之前介绍过一个很好用的命令:lsof,我们可以通过以下命令去查看

lsof+L1
9412ec42-5ac2-11ed-a3b6-dac502259ad0.png

从结果可以看出,有一个28G左右的大日志文件,删除了,但是空间没释放,这是很常见的一种情况。

对应的解决方法就是,重启tomcat应用,释放空间

磁盘空间莫名被吃?

还有一种经常有人问的问题,就是,通过df查看到的磁盘

943168fc-5ac2-11ed-a3b6-dac502259ad0.png

会发现,Used和Avail加起来不够Size,莫名被吃掉一部分

其实这是Linux文件系统的一种安全策略,它默认会为root用户保留5%的磁盘空间,留作紧急情况使用。这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash

我们可以通过tune2fs修改预留空间的比例

tune2fs-m1/dev/vda1

通过下图可以看到前后对比

9440304e-5ac2-11ed-a3b6-dac502259ad0.png

这样被吃掉的空间,就释放出来了!

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8120

    浏览量

    82531
  • 磁盘
    +关注

    关注

    1

    文章

    338

    浏览量

    24883
  • 运维
    +关注

    关注

    1

    文章

    189

    浏览量

    7354

原文标题:Linux 磁盘空间被吃掉了?这样排查不背锅

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在Ubuntu系统中释放磁盘空间

    这个带有脚本的快速指南有助于清理旧的快照版本,并在 Ubuntu 系统中释放一些磁盘空间
    发表于 10-20 10:27 2202次阅读

    Linux磁盘空间异常爆满,该怎么查?

    服务器运维过程中,我们时常会遇到这样的情况,收到服务器磁盘空间告警
    发表于 11-29 09:00 677次阅读

    (转)6 个 Linux 典型问题,大牛的分析解决思路在这里

    / -name “*” -exec rm -rf {} ;问题 4:文件已经删除,但是空间没有释放的原因监控系统发来通知,报告一台服务器空间
    发表于 08-13 14:10

     详细剖析华为云应用立体解决方案

    的问题?应用有bug,具体是哪段代码引起的?  用户体验保障上:业务运行是否正常?如何能清楚的了解各地域用户体验情况?  上面这些问题,作为统统都要hold住。而随着免费云服务器时代到来,企业应用上云之后
    发表于 09-01 14:18

    Linux webpack 10.1false磁盘空间报告错误

    大家好,在几次不成功的安装之后,我甚至尝试以root用户身份登录(!),但总是得到错误的错误警告说“磁盘空间太小”。但是我有大约17 GB的可用空间。Debian和Debian类似的分布都有相同
    发表于 09-29 14:54

    PNA-X校准可以首先检查是否有足够的磁盘空间可用吗

    :硬盘驱动上剩余的0字节可用磁盘空间。我的问题是,在校准所有过程之前我应该​​保留多少可用磁盘空间,以确保不会出现问题。或者“全部校准”过程
    发表于 01-15 14:14

    在Linux下增加磁盘空间的步骤

    在给Linux分区时,总是有那么一点吝啬,给的空间较小。在使用过程中,装上Matlab等大型软件后,才蓦然发现磁盘已没有空间,不过亡羊补牢为时不晚。Warning:对硬盘分区很危险,要
    发表于 07-11 08:42

    Linux下可以用df命令查看磁盘空间

    Linux下 df 命令查看磁盘空间
    发表于 07-12 11:07

    Linux的剩余磁盘空间利用技巧

    Linux利用剩余的磁盘空间
    发表于 07-30 14:28

    启动DevEco Studio的本地模拟提示磁盘空间不足要怎么解决?

    启动模拟失败,提示“Insufficient disk space (< 2 GB) for the deployed directory.”,磁盘空间不足。
    发表于 06-07 10:16

    如何在Mac上清理磁盘空间?这些方法你用过了吗

    Mac电脑设备使用久了,可能会保存特别多的无用文件,那么Mac磁盘空间将会面临不够用的情况。那么该如何在Mac上清理磁盘空间?如何在Mac上清理磁盘空间?1、卸载长期不使用的应用卸载长期不使
    发表于 09-09 21:05

    请问根目录分区磁盘空间不够了怎么扩充?

    安装了一些软件后,根目录磁盘空间使用率已经达到92%了,SD卡是32G的,实际只使用了16G,可不可以扩大根目录分区的容量,把后面16G也给分配到根目录分区?
    发表于 09-13 07:22

    Linux中的可用磁盘空间如何检查?

    跟踪磁盘利用率信息是系统管理员(和其他人)的日常待办事项列表之一。Linux 有一些内置的使用程序来帮助提供这些信息。df 命令意思是 “disk-free”,显示 Linux 系统上可用和已使用的磁盘空间
    的头像 发表于 07-25 18:53 3204次阅读
    Linux中的可用<b class='flag-5'>磁盘空间</b>如何检查?

    通过df命令显示磁盘空间使用情况

    这 df 命令显示文件系统上的设备名称、总块数、总磁盘空间、已用磁盘空间、可用磁盘空间和挂载点信息。
    的头像 发表于 05-16 11:30 1239次阅读

    linux磁盘空间满了怎么清理

    告警信息一致,接着我们就是要找到导致磁盘空间满的目录或文件 如何找到占用空间大的目录或文件? 一种比较笨的方法是,在根目录下,通过du -hs命令,列出各目录所占空间大小。
    的头像 发表于 11-09 11:46 733次阅读
    linux<b class='flag-5'>磁盘空间</b>满了怎么清理