리눅스(Linux) 시스템 관리자나 개발자라면 한 번쯤 htop이나 top 같은 도구를 사용해 시스템 상태를 확인해봤을 것입니다. 하지만 이 도구들이 보여주는 수많은 정보, 특히 '로드 에버리지(Load Average)'가 정확히 무엇을 의미하는지 명확히 아는 사람은 많지 않습니다. 이 기사는 htop/top에 표시되는 핵심 지표들의 숨겨진 의미를 파헤쳐, 시스템 부하를 보다 정확하게 이해하고 진단할 수 있도록 돕습니다.
시스템의 '업타임(Uptime)'은 시스템이 얼마나 오랫동안 실행되었는지를 보여주며, 이는 `/proc/uptime` 파일에서 읽어옵니다. 이 파일에는 시스템 가동 시간과 유휴(idle) 시간이 초 단위로 기록되어 있습니다. 더 흥미로운 것은 '로드 에버리지'인데, 이는 1분, 5분, 15분 동안의 평균 시스템 부하를 나타내는 세 가지 숫자입니다. 많은 사람이 이를 단순히 CPU 사용률로 오해하지만, 로드 에버리지는 CPU에서 실행 중이거나 실행을 기다리는 프로세스, 그리고 디스크 I/O와 같은 자원을 기다리는 '방해받지 않는(uninterruptible)' 프로세스의 수를 모두 포함합니다. 예를 들어, 듀얼 코어 시스템에서 로드 에버리지가 2.00이라면 CPU가 100% 활용되고 있음을 의미합니다.
로드 에버리지 계산 방식 역시 단순한 평균이 아닙니다. 이는 시스템 시작 이후의 모든 부하를 지수적으로 감쇠(exponentially damped)시켜 평균을 낸 값입니다. 즉, 1분 로드 에버리지는 지난 1분간의 부하를 63% 반영하고, 그 이전의 부하를 37% 반영하는 식으로 과거의 데이터도 포함합니다. 이처럼 로드 에버리지는 시스템의 현재 상태뿐만 아니라 과거의 추세까지 반영하는 복합적인 지표이므로, 이 수치를 정확히 해석하는 것이 시스템 성능 문제 진단에 매우 중요합니다. 단순히 숫자가 높다고 해서 무조건 CPU 과부하를 의미하는 것이 아니라, 어떤 종류의 프로세스가 어떤 자원을 기다리고 있는지까지 파악해야 합니다.
