웹 서버 리슨 오버플로우, Linux 커널 성능 문제로 추적
2025-02-14
웹 서버를 CentOS에서 Ubuntu로 업그레이드한 후 리슨 오버플로우 오류가 발생했습니다. 조사 결과, 새로 부팅된 Ubuntu 호스트에서 부팅 후 몇 분 이내에 시스템 CPU 사용량이 급증하여 웹 요청 처리 속도가 느려지고 그 결과 리슨 오버플로우가 발생하는 것으로 나타났습니다. 원인은 Linux 커널의 inode cgroup 전환 기능이었습니다. 많은 파일을 작성한 후 커널은 inode를 한 cgroup에서 다른 cgroup으로 이동하는 데 많은 시간을 소비했습니다. systemd의 io 또는 memory 컨트롤러를 비활성화하여 이 문제를 해결했습니다. Ubuntu의 cgroups v2와 달리 cgroups v1을 사용하는 CentOS는 영향을 받지 않았습니다. 문제를 재현하기 위한 최소한의 재현 스크립트가 생성되었습니다.
(dasl.cc)
개발
성능 문제