OOM、cgroup 与资源限制:进程为什么会被系统突然杀掉
线上最让人困惑的一类问题,就是程序没有明显报错,却突然没了。很多时候,罪魁祸首不是代码主动退出,而是系统在内存压力下触发 OOM,或者容器 / 服务所在的 cgroup 资源限制被打穿。 这类问题难的...
线上最让人困惑的一类问题,就是程序没有明显报错,却突然没了。很多时候,罪魁祸首不是代码主动退出,而是系统在内存压力下触发 OOM,或者容器 / 服务所在的 cgroup 资源限制被打穿。 这类问题难的...
很多人接触 Nginx 的方式,都是先从零碎需求开始:有人是因为线上慢了,有人是因为接口不一致,有人是因为部署和发布出了问题。于是学到的内容也常常是碎的,今天补一篇索引,明天补一个缓存击穿,后天再看一...
真正到了线上,问题不会按章节出现。你看到的往往是接口变慢、服务超时、容器重启、机器报警、磁盘写满、连通性异常,然后需要在很短时间内做出判断。 所以 Linux 系统能力最终必须回到排障思路本身:先看现...
很多人第一次真正停下来补“Nginx 简介”,往往并不是为了系统学习,而是因为工作里已经隐约感觉这里有坑。可能是同事在说这个词时你大概听得懂,但真要自己解释就有些模糊;也可能是系统已经出现了一些现象,...
很多人学“配置文件结构入门”这类机制主题时,最容易有一种错觉:好像自己在学一堆抽象原理,离真实工程很远。可只要你把它放回系统运行过程里,就会发现它其实一直在回答非常具体的问题:请求为什么会这么走、数据...
很多人第一次真正停下来补“安装与最小实验”,往往并不是为了系统学习,而是因为工作里已经隐约感觉这里有坑。可能是同事在说这个词时你大概听得懂,但真要自己解释就有些模糊;也可能是系统已经出现了一些现象,让...
当你开始学“server_name 与 location”这类设计主题时,通常意味着单纯会操作已经不够了。系统开始变大、对象开始变多、协作开始变复杂,你会越来越频繁地遇到一种情况:看起来好像每个方案都...
当你开始学“静态资源托管”这类设计主题时,通常意味着单纯会操作已经不够了。系统开始变大、对象开始变多、协作开始变复杂,你会越来越频繁地遇到一种情况:看起来好像每个方案都能做,但真正难的是判断哪种更适合...
很多人第一次真正停下来补“反向代理入门”,往往并不是为了系统学习,而是因为工作里已经隐约感觉这里有坑。可能是同事在说这个词时你大概听得懂,但真要自己解释就有些模糊;也可能是系统已经出现了一些现象,让你...
当你开始学“请求头与真实客户端 IP”这类设计主题时,通常意味着单纯会操作已经不够了。系统开始变大、对象开始变多、协作开始变复杂,你会越来越频繁地遇到一种情况:看起来好像每个方案都能做,但真正难的是判...