故障排查
已收录文章:57篇
-
用 findmnt --verify 在重启前检查 fstab 的语法、设备路径和挂载选项,区分配置可解析、设备可见与真正挂载成功这三个验收层次。188 收藏
-
Redis Lua 脚本一旦超过 lua-time-limit,会阻塞其他命令并返回 -BUSY。本文用一个长脚本现场说明如何确认阻塞、何时可以 SCRIPT KILL、写入后为什么只能重启,以及如何在脚本侧避免再次拖住主线程。184 收藏
-
Golang · Go教程 | 1个月前 | golang · JSON · 故障排查 · Go教程 · 接口设计 · JSON Go 接口兼容性 DisallowUnknownFields 严格解码接口增加 json.Decoder.DisallowUnknownFields 后,旧客户端多传字段会从静默兼容变成 400。本文用一个订单接口故障复盘这个变化,说明如何定位触发条件、保留严格校验的收益,并通过灰度和版本边界避免再次误伤旧请求。174 收藏
-
Go 程序在本地和服务器上解析出不同时间,通常不是时钟坏了,而是输入是否带时区、time.Parse 使用的 Location 以及序列化格式没有对齐。本文用最小实验拆开这三个边界,并给出可回归的处理方式。161 收藏
-
nftables 规则看起来写对了,流量却没有按预期放行或拒绝,通常要从 counter、链优先级和实际生效配置三处核对。本文给出一套可回滚的排查顺序。158 收藏
-
数据库 · Redis | 1个月前 | Redis · 内存管理 · 故障排查 · 缓存运维 · redis OOM CLIENT NO-EVICT maxmemory-clients noeviction 客户端驱逐Redis 写入报 OOM 时,先区分数据键无法淘汰与客户端输出缓冲触发驱逐。本文用 CLIENT NO-EVICT、maxmemory-clients、maxmemory-policy 和 INFO memory 还原两条故障链,给出核对命令、控制连接保护和回退边界。152 收藏
-
Redis Hash 字段过期后,整条 Hash 不一定会立刻消失。用 HEXPIRE 设置字段级 TTL,用 HTTL 或 HPTTL 检查精度,再结合 HGET、HLEN 和主动读取判断字段是否已不可见;验收时要区分过期时间写入失败、惰性删除和整 key 生命周期。138 收藏
-
PHP 的 TCP 探活不该只看一个布尔值。本文用 stream_socket_client() 拆解 DNS、连接超时、端口拒绝、上下文参数和日志归因,给出可回归的最小检查器。130 收藏
-
从 IOSQE_FIXED_FILE、固定文件索引和稀疏表入手,定位 io_uring 请求返回 EBADF 的原因,并用 draining 到 ready 的切换边界完成在线更新验收。102 收藏