千家信息网

聊聊Linux上“too many links”报错出现的原因和处理方法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,说明Linux上出现"too many links"这样的报错,可能是多原因造成的。本节主要介绍导致这一报错的两种情况:*(1)ext3 文件系统,报错内容类似如下:cannot create dir
千家信息网最后更新 2026年11月03日聊聊Linux上“too many links”报错出现的原因和处理方法

说明

Linux上出现"too many links"这样的报错,可能是多原因造成的。本节主要介绍导致这一报错的两种情况:

*(1)ext3 文件系统,报错内容类似如下:

cannot create directory `/home/data` too many links

*(2)docker存储驱动overlay,报错内容类似如下:

failed to register layer: link /data/sys/var/docker/overlay/xxxxx: too many links    ## 这里使用xxx忽略掉不重要的内容

分为两种情况分析

ext3 文件系统

关于 ext3 的介绍,网上有很多的优秀的博客或资料可参考,这里我简单说明下:

(1)查看文件系统:df -lhT

(2)Linux的kernel代码中有include/linux/ext2_fs.h:#define EXT2_LINK_MAX 32000和nclude/linux/ext3_fs.h:#define EXT3_LINK_MAX 32000,ext3文件系统一级子目录的个数默认为31998(个),准确地说是32000个。

(3)不建议在一个目录下有太多的文件或者目录,这回降低文件系统查找文件或目录的性能。

(4)ext3文件系统下单个目录里的最大文件数无特别的限制,是受限于所在文件系统的inode数。参考阮神理解inode

(5)ext4 对目录个数没有限制。

了解了上面的套路,我们对于文件系统层次的"too many links"报错,可采用:

(1)将ext3文件系统替换为ext4,注意️数据安全,可参考: failed: Too many links 解决

(2)清除无用的目录或文件

docker存储驱动overlay

关于这一块,可参考我之前的文章Docker存储驱动由overlay更改为overlay2,文章中给出了两种方法:

解决上面出现的"too many links" 问题,可以采用下面两种方法:

(1)临时方法:定时删除没用的镜像和已经退出的容器,使用docker system prune。

(2)永久方法:将存储驱动由 overlay 升级到 overlay2。

参考文档

*(1)failed: Too many links 解决

*(2)Docker存储驱动由overlay更改为overlay2

*(3)ext3文件系统目录限制问题

*(4)理解inode

文件 系统 目录 参考 存储 驱动 方法 内容 限制 个数 情况 文章 问题 原因 优秀 最大 重要 安全 下有 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 圆梦互联网科技 互联网金融公司科技 成都互联网科技公司 科技伦理 互联网公司 顺网科技2021年互联网排名 广西拼得多互联网科技有限公司 互联网科技实习生岗位职责 移动互联网年度科技创新 哈尔滨屹滨互联网科技有限公司 洛阳共同富裕互联网科技有限公司 威龙国际互联网科技公司 中科明德北京互联网科技 上海钢联属于互联网科技股吗 产业互联网科技服务公司 互联网科技快讯热点 上海创道互联网络科技有限公司 抖集互联网科技技术咨询 互联网科技手机排行榜 互联网科技平台产品运营 黑龙江互联网科技公司 互联网和科技创新 米客互联网科技 山东吉时兔互联网科技有限公司 华夏互联网科技业 互联网媒体平台算高科技产业 电子科技大学互联网创业大赛 萌小萌互联网科技河南有限公司 互联网科技平台产品运营 绵阳真晨互联网科技有限公司 数字科技和互联网金融哪个好
0