Linux inodes 资源耗尽
本文最后更新于 110 天前,其中的信息可能已经有所发展或是发生改变

前沿

临近国庆假期,提前预防问题,为了过好一个假期,今天查看监控发现有一台老古董项目服务器资源使用有异常,如下:

排查

发现cpu和内存都在30天内突增,这台服务器已经运行2年多。看到这个资源折线图就知道,事出反常必有妖😅。

进入服务器top查看,按 Shift + M 键,对 top 命令的输出按照内存使用情况进行排序。发现如下结果

发现都是JAVA进程,查找了一遍无发现异常。先查看下日志。

发现并没有最近的日志,蹊跷!最后决定重启一下项目(老古董项目,stop掉也没客户反馈)

懵逼,错误

Cannot allocate memory

内存不足没办法执行shutdown.sh,那就直接kill掉它。然后再start

启动报错:No space left on device,查看磁盘空间发现资源空间还是很宽裕的,继续懵逼。

继续排查。即使有可用的磁盘空间,系统可能已经用尽了 inodes,这会导致无法创建新的文件。所以查看系统inodes使用。

果然。inodes使用完与存储空间使用完相似,都是创建不了文件或无法正常执行一些命令。inodes使用完,存储空间可能还有,这种情况一般是生成了大量的小文件,把inode table占满。

一般情况下存储空间使用完,inodes往往才使用百分之几,所以容易忽视对inodes使用情况的监控。

inodes耗尽解决

查看文件最多的目录

for i in /*; do echo $i; find $i | wc -l; done

发现是data目录,继续搜索查看。

发现是xxl-job,猜测肯定开发写的执行一次生成一个文件。去job查看对应执行时间

10秒执行一次,运行了那么长时间了,挖坑来了

解决办法删除文件

find 目录 -type f -mtime +30 | xargs -n 1000 rm -f**

然后再次尝试启动

启动成功,监控资源恢复正常。

博客内容均系原创,未经允许严禁转载!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
首页