故障排查
已收录文章:57篇
-
Linux 目录统计结果异常时,du 和 find 可能把挂载点、bind mount 或其他文件系统算进来。本文用 find -xdev、-mount、df、findmnt 组成核对路径,区分目录树大小与底层文件系统用量。416 收藏
-
MySQL XA 事务进入 PREPARED 后,连接断开并不代表事务已经消失。本文从 XA RECOVER、事务分支和业务提交记录入手,说明如何区分可提交、可回滚和需要人工确认的状态,并给出恢复前后的验收边界。412 收藏
-
Redis Sorted Set 用 ZRANGE BYSCORE 做时间范围分页时,重复分数和闭区间很容易让数据重复或漏掉。本文从线上分页现场出发,给出 score 加 member 的边界游标写法、复查命令和回滚判断。405 收藏
-
删除 MySQL 主表记录时遇到外键失败,原因可能是子表仍有引用、约束动作不是预期,或事务锁尚未释放。本文用订单与订单明细场景区分 RESTRICT、CASCADE 和锁等待,并给出可复现的检查命令。403 收藏
-
Linux 审计日志出现 backlog limit exceeded 时,不能只把队列上限调大。本文从 auditctl 状态、lost 计数和 auditd 内部队列入手,区分内核 backlog、守护进程消费和磁盘轮转三个环节,给出可回滚的处理与复核顺序。391 收藏
-
Redis Streams 使用 XREADGROUP 时,空结果不一定代表没有消息。本文从 BLOCK 超时、已确认消息和 XPENDING 消费者状态三条线核对消息是否真正读到,并给出可复查的命令与边界。382 收藏
-
数据库 · Redis | 1个月前 | Redis · 内存管理 · 故障排查 · 缓存运维 · redis OOM CLIENT NO-EVICT maxmemory-clients noeviction 客户端驱逐Redis 写入报 OOM 时,先区分数据键无法淘汰与客户端输出缓冲触发驱逐。本文用 CLIENT NO-EVICT、maxmemory-clients、maxmemory-policy 和 INFO memory 还原两条故障链,给出核对命令、控制连接保护和回退边界。376 收藏
-
Redis Cluster 扩缩容时,业务抖动通常不是迁移命令本身造成的,而是迁移窗口、客户端重定向、热点槽位和失败收尾没有被单独核对。本文用一套可回滚的检查顺序说明如何安排迁移、观察状态并复查失败槽位。367 收藏
-
用 openat2 的 resolve 约束限制不可信相对路径,分清 RESOLVE_BENEATH 与 RESOLVE_IN_ROOT 的边界,并处理 EXDEV、EAGAIN 和内核兼容性验收。356 收藏
-
Redis Sentinel 触发故障转移后,看到某个 Sentinel 报了 SDOWN 并不代表切换已经完成。本文用 ROLE、INFO replication、SENTINEL master 和 switch-master 事件,核对 ODOWN、主节点提升、从节点重挂与应用重连四个结果,给出可回滚的验收清单。356 收藏
-
文章 · java教程 | 1个月前 | 故障排查 · Java教程 · 虚拟线程 · synchronized reentrantlock 虚拟线程 JFR Java 21 VirtualThreadPinnedJava 21 虚拟线程并不是开得越多越快。只要把慢 I/O 放进 synchronized,虚拟线程就可能 pin 住承载它的平台线程,吞吐随并发上升反而下降。本文用 JFR 和 tracePinnedThreads 还原定位过程,并给出锁替换与版本边界。343 收藏
-
文章 · linux | 1个月前 | Linux · 故障排查 · 服务管理 · Linux 服务状态 active exited Type=oneshot RemainAfterExit 常驻进程服务状态显示 active (exited) 不一定代表进程仍在运行。本文拆解 oneshot 服务的状态含义,给出常驻服务与一次性任务的判断、配置改法和复测命令。331 收藏