故障排查
已收录文章:6篇
-
Redis 内存达到 maxmemory 后,淘汰策略决定哪些键先离开。本文从缓存实例的内存告警现场出发,解释 allkeys-lru、volatile-lru、allkeys-lfu 和 noeviction 的适用边界,并给出命中率、淘汰计数与回滚核对方法。420 收藏
-
复用 Go 的 time.Timer 时,Stop 和 Reset 的行为会受到 Go 版本、定时器是否已经到期以及是否存在并发接收的影响。本文用一个超时重试场景拆开旧版本排空规则、Go 1.23 的同步定时器语义和可验证的停机边界。236 收藏
-
Go 程序明明调用了 Write,退出后日志文件却少了最后几行,常见原因不是字符串没生成,而是 bufio.Writer 仍留在用户态缓冲区,或 Flush、Close 的错误没有被检查。本文用一个退出前丢日志的场景,拆开缓冲写入、defer 执行时机、Flush 与 Sync 的边界,并给出可复测的收尾写法。496 收藏
-
PHP Generator 结束后进程内存没有回落,往往不是 yield 本身泄漏,而是迭代器仍被引用、foreach 引用残留或 finally 尚未完成。本文用可复现实验拆解判断顺序。254 收藏
-
删除 MySQL 主表记录时遇到外键失败,原因可能是子表仍有引用、约束动作不是预期,或事务锁尚未释放。本文用订单与订单明细场景区分 RESTRICT、CASCADE 和锁等待,并给出可复现的检查命令。403 收藏
-
Linux 审计日志出现 backlog limit exceeded 时,不能只把队列上限调大。本文从 auditctl 状态、lost 计数和 auditd 内部队列入手,区分内核 backlog、守护进程消费和磁盘轮转三个环节,给出可回滚的处理与复核顺序。391 收藏