검수요청.png검수요청.png

부하 (컴퓨터)

위키원
kskim5223 (토론 | 기여)님의 2020년 8월 11일 (화) 14:12 판 (특징)
이동: 둘러보기, 검색

부하(load, 負荷)란 시스템에서 원하는 어떤 효과를 얻기 위해 취하는 행동에 필요한 동작이나 자원. 예를 들어, 운영 체계에서 프로세스들을 스케줄링함으로써 컴퓨터 자원의 이용 효율을 높일 수 있으나, 프로세스를 스케줄링하는 그 자체도 중앙 처리 장치(CPU)의 시간과 기억 장치가 소모된다. 만일 스케줄링을 잘못하여 스케줄링 자체의 부하가 너무 커진다면 아예 스케줄링을 하지 않는 것이 낫다. 이와 같이 부하는 적정한 한도 밑으로 유지되어야 하는 성질을 가지고 있다.

개요

부하는 컴퓨터계에서는 시스템이 수행해야 할 양의 척도로, 데이터(비트, 명령어, 작업, 프로세스)를 처리 / 실행 / 수행해 주는 주체인 CPU와 GPU에서 주로 취급하는 편인데 Windows의 작업 관리자에서 확인할 수 있는 이용률 또는 사용률(영문 버전에서는 utilization 또는 usage라고 표시되어 있다.)과 혼동해서 같은 의미처럼 취급하는 사람들이 많지만, 이용률과 부하는 엄연히 서로 다른 개념이다. 여러 프로세스들을 관리하는 서버 및 네트워크 분야에서의 부하 개념은 실행 중인 프로세스의 양과 대기 중인 프로세스의 양을 모두 합친 전체 프로세스의 양을 가리키고, 전체 프로세스의 양에 대한 실행 중인 프로세스의 양을 비율로 환산한 것을 이용률이라고 부른다. 쉽게 말해서 주어진 일의 양을 부하, 한 번에 처리할 수 있는 일의 양을 이용률에 해당되며, 만약 주어진 일의 양이 한 번에 처리할 수 있는 일의 양보다 더 적다면 이때 CPU의 이용률은 100%보다 낮은 값이 된다. 다만, 값이 수시로 바뀌는 순간 부하로는 그래프와 함께 모니터링하지 않는 한 전체적인 부하를 제대로 파악하기 어려우므로, 일반적으로 그냥 부하라고 하면 '일정 단위 시간당 평균 부하'로 통용된다.[1]

계산방법

부하를 계측하고자 할 때 top, uptime 등의 툴을 사용하여 Load Average를 확인한다. Load Average가 낮은데 전송량이 오르지 않는 경우 소프트웨어 설정이나 오류, 네트워크, 원격 호스트 측에 원인이 없는지 확인하여야 한다. Load Average가 높은 경우 sar,vmstat 등으로 시간 경과에 따라 CPU 사용률이나 I/O 대기율 추이를 확인하여야 한다.

  • CPU 부하가 높은 경우
User / Kernel 프로그램 중 원인을 확인한다. 프로세스 상태나 CPU 사용시간 등을 통해 원인이 되는 프로세스를 확인한다. strace 등을 통해 병목지점을 좁혀나간다.
  • I/O 부하가 높은 경우
ps로 특정 프로세스가 극단적으로 메모리를 소비하고 있는지 확인한다. 입출력이 많아 부하가 높다면, 캐시에 필요한 메모리가 부족한 경우이다. 메모리 증설 혹은 데이터분산/캐시서버 도입 등을 검토한다. 프로그램을 개선하여 I/O빈도를 줄이는 것도 검토한다. 그 외에 Swap이 발생해서 디스크 액세스가 이루어지는 경우가 있을 수 있다.



각주

참고자료

같이 보기

  검수요청.png검수요청.png 이 부하 (컴퓨터) 문서는 하드웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.