NET

구형 시스템의 '유령 자원' 방치된 프로세스가 서버 다운이 잦은 이유

0%의 트래픽, 100%의 메모리 점유 — DB 캐시와 워커 프로세스가 만든 연쇄 병목 현상

김홍범 기자 · 조회 3

목록

스크린샷 2026-09-11 19-35-15.png

접속자가 전혀 없는 방치된 웹사이트 여러 개가 초저사양 스마트폰 기반 서버의 성능을 크게 떨어뜨리는 현상은 리소스가 극도로 제한된 환경에서 흔히 발생하는 문제입니다. LGT540급 구형 스마트폰은 RAM 용량이 512MB에서 1GB 내외로 극히 적기 때문에, 단지 웹 파일과 DB 스키마가 존재하는 것만으로도 시스템 전체 자원이 순식간에 고갈될 수 있습니다. 이로 인해 정작 정상적으로 운영해야 하는 단 하나의 메인 사이트조차 응답 속도가 급격히 느려지거나 구동되지 않는 현상이 벌어집니다.

가장 먼저 눈에 띄지 않는 자원 점유의 원인은 데이터베이스 데몬의 내부 작동 방식에 있습니다. MariaDB는 사용자가 실제로 접근하지 않더라도 등록된 여러 계정과 데이터베이스 스키마의 권한 정보, 테이블 정의 캐시, 오픈 테이블 스레드를 메모리에 상시 로드해 둡니다. 특히 이노디비(InnoDB) 버퍼 풀은 기본 설정값만으로도 초저사양 스마트폰의 RAM 상당 부분을 점유하며, 한번 할당받은 메모리는 쿼리 요청이 없더라도 반환되지 않고 프로세스 내부에서 계속 유지됩니다.

웹서버와 연동되는 PHP-FPM 프로세스 관리 방식 역시 심각한 메모리 부담을 유발합니다. 기본적으로 PHP-FPM이 다이나믹 모드로 설정되어 있으면, 각 가상 호스트나 사이트 설정을 위해 접속자가 없어도 최소 개수의 워커 프로세스가 생성되어 대기 상태를 유지합니다. 프로세스 하나당 약 15메가바이트에서 30메가바이트의 메모리를 소모하므로, 여러 사이트 설정이 겹치면 실제 서비스에 쓰이지 않는 프로세스들이 메모리의 절반 이상을 갉아먹게 됩니다.

스크린샷 2026-09-11 19-35-25.png

구형 스마트폰의 내장 플래시 메모리와 SD카드가 가진 물리적인 입출력 한계도 프로세스 지연의 큰 원인입니다. Nginx는 실행과 동시에 모든 가상 호스트 파일 경로와 설정을 메모리에 구성하지만, 하부 파일 시스템에 방치된 수많은 웹 파일 구조와 접속 로그 기록 작업은 극도로 느린 저장장치에 지속적인 읽기 및 쓰기 부담을 줍니다. 이는 순식간에 입출력 대기 병목 현상을 일으켜 CPU가 단순 파일 탐색이나 로그 처리에 발이 묶이게 만듭니다.

결과적으로 사용 가능한 물리 메모리가 모두 바닥나면 리눅스 커널은 부족한 공간을 메우기 위해 저장장치를 가상 메모리로 활용하는 스왑 작업을 폭증시킵니다. 이 과정에서 저장장치를 쉬지 않고 읽고 쓰면서 시스템 전체가 멈칫거리는 쓰래싱 현상이 발생하고, 구형 스마트폰의 모바일 프로세서는 급격히 과열됩니다. 스마트폰 자체의 발열 제어 기능이 작동하여 CPU 클럭을 강제로 낮추는 스로틀링이 걸리면, 결국 유일하게 정상 작동해야 할 메인 사이트의 처리 속도마저 마비되는 연쇄 악순환이 완성됩니다.

이러한 문제를 해결하기 위해서는 방치된 유령 자원을 완벽히 정리하고 환경설정을 극단적으로 다이어트해야 합니다. 데이터베이스에서는 이노디비 버퍼 풀 용량을 16메가바이트 이하로 대폭 축소하고 퍼포먼스 스키마 기능을 끄며 동시 연결 수를 제한하여 상시 점유 메모리를 줄여야 합니다. 또한 PHP-FPM 설정을 온디맨드 모드로 변경하여 평소에는 프로세스를 완전히 소멸시키고, 실제 요청이 들어올 때만 일시적으로 프로세스를 생성하도록 변경해야 합니다.

Nginx 환경에서는 운영하지 않는 사이트의 가상 호스트 설정 파일 연결을 심볼릭 링크 단계에서 확실히 제거하여 메모리 로드 대상에서 제외하고, 저장장치 병목을 줄이기 위해 접근 로그 기록을 끄는 조치가 필수적입니다. 마지막으로 안드로이드 OS가 안드로이드 자체의 절전 정책으로 Termux 프로세스를 강제 종료하거나 제한하지 못하도록 웨이크락을 걸고 배터리 최적화 대상에서 Termux 앱을 제외하면, 단 하나의 메인 사이트를 구형 스마트폰 환경에서도 매우 안정적이고 쾌적하게 구동할 수 있습니다.

추천 0 · 비추천 0 · 스크랩 0 · 신고

댓글 0

로그인 후 댓글을 작성할 수 있습니다.