作者小头像 Lv.3
269 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
260
9
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

发布时间 2026/10/17 08:58:27 最后回复 yd_241984912 2026/11/08 12:37:17 版块 开发者空间
12 2 0
发布时间 2026/11/01 07:35:55 最后回复 komari 2026/11/06 07:06:03 版块 开发者空间
226 39 0
发布时间 2026/10/23 12:20:43 最后回复 yd_241984912 2026/10/28 17:34:48 版块 开发者空间
19 3 0
他的回复:
1 楼的清单已经很全了,补充几个函数侧容易漏的点: 1. 函数配 VPC 需要“委托”FunctionGraph 往子网里创建 ENI 需要 agency(委托)授权,没配或权限不足时函数连 VPC 都进不去。去函数配置页检查 VPC 委托是否存在、是否包含 VPC 操作权限。 2. 函数 ENI 自己的安全组出方向大家都盯着 RDS 的入方向,但函数 ENI 所属安全组的出方向如果被收紧过(默认是全放行),照样连不出去。对照看一下函数配置里绑定的安全组出方向规则。 3. 子网 DNS函数里用 RDS 内网域名连接时,走的是子网配置的 DNS。如果子网 DNS 被改成自建 DNS 且没做内网转发,域名解析失败表现出来就是超时。先在函数里连内网 IP:3306,如果 IP 通、域名不通,就是 DNS 的问题。 4. 先做最小复现,把代码和网络分开在函数里写一段最小测试代码,只做 socket 连接 RDS 内网地址,看报什么错:Connection timed out 是链路问题,Connection refused 是端口/服务问题,Access denied 是账号白名单问题。别一上来就调业务代码。 5. 冷启动的 ENI 创建耗时函数长时间没调用后首次触发,或并发扩容时,创建 ENI 要几十秒,可能被误判为连接超时。把函数超时时间先调到 60 秒以上,再看日志里的真实错误。 排查顺序建议:委托 → 函数安全组出方向 → RDS 安全组入方向(按函数子网网段放行)→ 子网 DNS → 最小复现看错误类型。
发布时间 2026/10/26 09:05:37 最后回复 yd_276924060 2026/10/27 10:20:53 版块 开发者空间
70 12 0
发布时间 2026/10/22 21:26:50 最后回复 yd_274356910 2026/11/14 09:52:51 版块 开发者空间
670 67 0
发布时间 2026/10/23 10:48:10 最后回复 yd_220055865 2026/11/15 13:07:03 版块 开发者空间
785 97 0
他的回复:
结论先行:df 读的是文件系统元数据里的「已分配块数」,du 是遍历目录树逐个累加的。两者差值大,说明空间被 du 遍历不到的地方占了。你已经用 lsof 查过没发现明显的,那就按下面这个顺序查,基本都能命中。 第一步:先对齐统计口径,确认差值df -hT /                      # 确认哪个挂载点满了、文件系统类型sudo du -x -d1 -h / 2>/dev/null | sort -rh | head -15du 必须加 -x(不跨文件系统)且用 root 跑,否则权限不足跳过的目录会造成「漏统计」的假象。对比 df 的 Used 和 du 的总和,差值就是要找的「隐形空间」。 第二步:查已删除但被进程占用的文件(最常见lsof | grep deleted 输出太多容易看走眼,直接这样查:sudo lsof +L1 | awk 'NR>1{printf "%.1fM %s %s:%s\n",$7/1024/1024,$9,$1,$2}' | sort -rn | head -10+L1 只列出链接数为 0 的文件(即已删除但仍被占用的),按大小排序,一眼就能看到凶手。 处理时不一定要重启进程,直接截断就行,空间立即释放:sudo : > /proc//fd/    # FD号取自 lsof 的 FD 列 日志文件是重灾区,事后记得给它 logrotate。 第三步:查被挂载点「盖住」的旧数据(第二常见)典型场景 /data 写了几十 GB,后来又把一块云硬盘挂载到 /data 上。旧数据还占着原文件系统的空间,但 du 走的是挂载后的目录树,看不见了。sudo mkdir -p /mnt/rootviewsudo mount --bind / /mnt/rootviewsudo du -sh /mnt/rootview/* 2>/dev/null | sort -rh | head# 对比 /mnt/rootview/data 和正常 du 看到的 /data,差的就是被盖住的sudo umount /mnt/rootview 第四步 journal 和容器日志(ECS 上最容易灯下黑的两项)journalctl --disk-usage                              # 看 systemd 日志占了多少sudo journalctl --vacuum-size=200M --vacuum-time=7d  # 清理并限制大小sudo du -sh /var/lib/docker/containers/* 2>/dev/null | sort -rh | head   # 容器 json 日志 单个容 -json.log 没做轮转时能涨到几十 GB,du 逐层查时很容易忽略。 第五步: inode 耗尽和预留块df -i /    # IUse% 到 100% 就是海量小文件把 inode 吃光了sudo tune2fs -l /dev/xxx | grep -i reserved    # ext4 默认给 root 预留 5% 1→5 跑一遍,df 的 Used 基本就能和各项加总对上。ECS 上我遇到最多的是第二种(日志删了但进程占着)和第四种(journal/容器日志),du 逐层查时最容易漏掉这两处。按 排除器的  :查    :先往加上   )