文件描述符为何会耗尽:从内核内存到OOM Killer的三层陷阱
2024年4月,Amazon EKS的一个GitHub issue报告了一个诡异现象:Elixir应用容器频繁被OOMKilled,但监控显示容器的内存使用量远低于限制。排查发现,真正的元凶是容器被配置了过高的文件描述符限制(1048576),每个文件描述符在内核中都会分配相应的数据结构,累积起来消耗了大量的内核内存,最终触发了OOM Killer。 ...
2024年4月,Amazon EKS的一个GitHub issue报告了一个诡异现象:Elixir应用容器频繁被OOMKilled,但监控显示容器的内存使用量远低于限制。排查发现,真正的元凶是容器被配置了过高的文件描述符限制(1048576),每个文件描述符在内核中都会分配相应的数据结构,累积起来消耗了大量的内核内存,最终触发了OOM Killer。 ...