4. CPU 모니터링

Linux 시스템을 관리하는 기본 기술 중 하나는 시스템 성능을 이해하는 것입니다. 빠른 상태 확인에 가장 유용한 명령어 중 하나는 uptime입니다.

user@machine:~$ uptime
 17:23:35 up 1 day,  5:59,  2 users,  load average: 0.00, 0.02, 0.05

이전에 uptime을 보았지만, 이제 Linux CPU 모니터링에 매우 중요한 load average 필드에 집중해 보겠습니다.

로드 평균 이해하기

로드 평균은 시스템의 CPU 부하에 대한 스냅샷을 제공합니다. 세 숫자는 지난 1 분, 5 분, 15 분 간격 동안의 평균 CPU 부하를 나타냅니다. 그렇다면 CPU 부하란 무엇일까요? 이는 실행 대기열 (run-queue) 에 있는 프로세스의 평균 개수를 의미합니다. 즉, CPU 에 의해 활발하게 실행되고 있거나 차례를 기다리고 있는 프로세스입니다. 이 측정값은 프로세스 활용도와 전반적인 시스템 성능의 핵심 지표입니다.

교통 체증 비유

단일 코어 CPU 를 단일 차선 고속도로라고 상상해 보세요.

  • 고속도로가 꾸준한 차량 흐름으로 100% 가득 찼다면, 트래픽은 100% 이며, 이는 로드 평균 1.0 에 해당합니다.
  • 심각한 교통 체증이 발생하여 차량이 고속도로 용량의 두 배로 밀려 있다면, 부하는 200% 또는 로드 평균 2.0 입니다.
  • 고속도로가 절반 정도 비어 있다면, 부하는 0.5 입니다.
  • 이상적으로는 교통 체증이 없는 새벽 2 시의 고속도로처럼 낮은 로드 평균을 유지하는 것이 좋습니다.

이 비유에서 차량은 CPU 가 처리하기를 기다리는 프로세스입니다.

최신 시스템에서 로드 평균 해석하기

로드 평균이 1.0 이라고 해서 시스템이 어려움을 겪고 있다는 의미는 아닙니다. 대부분의 최신 컴퓨터는 멀티 코어 프로세서를 사용합니다. 쿼드 코어 (4 코어) 프로세서가 있는 경우, 로드 평균이 1.0 이라는 것은 전체 CPU 용량의 25% 만 사용되고 있음을 의미합니다. 각 코어는 고속도로의 추가 차선 역할을 합니다.

로드 평균을 올바르게 해석하려면 CPU 코어 수를 고려해야 합니다. 시스템의 코어 수는 cat /proc/cpuinfo 명령어로 확인할 수 있습니다.

좋은 시스템 성능을 위한 일반적인 규칙은 로드 평균을 코어 수보다 낮게 유지하는 것입니다. 만약 머신의 로드 평균이 지속적으로 코어 수보다 높게 나타난다면, 비정상적으로 실행되는 프로세스나 불충분한 하드웨어 리소스와 같은 성능 병목 현상을 나타낼 수 있습니다.

로그인하여 학습 진행 상황을 저장하세요

로그인

연습 문제

실습을 통해 Linux CPU 모니터링시스템 성능 분석 경험을 쌓으려면 다음 핸즈온 랩을 시도해 보세요. 이 랩들은 실제 시나리오에서 로드 평균프로세스 활용도 개념을 적용하는 데 도움이 될 것입니다.

  1. Linux 프로세스 관리 및 모니터링 - pstop과 같은 도구를 사용하여 프로세스를 검사하고 리소스를 모니터링하는 연습을 통해 CPU 부하 이해와 직접적으로 연결됩니다.
  2. Linux top 명령어: 실시간 시스템 모니터링 - top 명령어를 사용하여 실시간 시스템 모니터링, 프로세스 정렬 및 필터링 방법을 학습하여 CPU 및 프로세스 활동을 더 깊이 파고듭니다.
  3. Linux free 명령어: 시스템 메모리 모니터링 - 시스템 메모리 사용량을 모니터링하고 분석하는 방법을 학습합니다. 메모리는 전반적인 시스템 성능에서 CPU 부하와 함께 중요한 요소인 경우가 많습니다.

퀴즈

시스템의 로드 평균을 확인하는 데 사용할 수 있는 명령어는 무엇입니까? 답변은 영어로 해 주시고, 명령어는 대소문자를 구분한다는 점에 유의하십시오.