어떤 유형의 작업 중에 "부하 평균"이 고려됩니까?

어떤 유형의 작업 중에 "부하 평균"이 고려됩니까?

일반적으로 나는 uptime표시되는 숫자를 이해하려고 노력하고 있습니다(및 많은 주문 명령).

$ uptime
 13:40:52 up 18 days,  2:10,  8 users,  load average: 0.20, 0.30, 0.64

여기서 이전 1분 동안 내 시스템의 평균 로드는 다음과 같습니다.0.2. 매우 높은 수준에서 이 숫자는 표본 기간 동안 평균적으로0.2프로세스는 생산으로 간주됩니다.시스템 [2]의 경우.

나는 프로세스가 다양한 상태에 있을 수 있다는 것을 알고 있습니다. 그러나 나는 세 가지 주요 상태에 대해서만 확고히 이해하고 있습니다.

  1. 프로세스가 CPU에서 작업을 수행하고 있습니다.
  2. 프로세스할 수 있다즉시 작동하지만 여유 CPU가 없습니다.
  3. 프로세스는 시스템 내부 또는 외부에서 어떤 일이 일어나기를 기다리고 있습니다.

처음 두 상태의 프로세스가 항상 시스템 프로세스에 포함된다고 확신하기 때문에 마지막 상태가 더 자세히 살펴봐야 할 상태라고 생각합니다.. 시스템이 최종 상태에 도달하기 위해 뭔가를 할 수 있다고 상상해 보세요.

  1. 부르다 sleep().
  2. read()캐시에 없는 열린 파일을 호출합니다 .
  3. read()아무도 아무것도 쓰지 않는 파이프를 호출하십시오 .
  4. accept()네트워크 소켓을 호출합니다 .
  5. send()버퍼가 가득 찬 네트워크 소켓을 호출합니다 .
  6. 디스크로 스왑된 개인 메모리에 액세스하려고 시도합니다.
  7. 캐시에 없고 디스크나 네트워크 파일 시스템에서 로드해야 하는 메모리 매핑된 파일에 액세스하려고 했습니다.
  8. 불행하게도 아직 메모리에 로드되지 않은 코드 섹션으로 이동합니다.

나는 읽었다이 답변인터넷의 다른 리소스뿐만 아니라 다음 용어도 보았습니다.중단 없는 상태그리고방해받지 않는 수면여러 번 이 상태의 프로세스도 계산됩니다. 그래서 나는 이것이 포함될 것이라고 가정하고 있습니다일부위의 상태 중 어느 상태인가요? 확실히 전부는 아닙니다.

그래서 내 주요 질문은 언제입니까?정확히시스템에 포함된 프로세스입니다.?

각주

[1]: 예를 들어1000견본,200단일 프로세스[2]의 횟수를 계산하고 다른 프로세스는800시간은 계산되지 않습니다. 또는200프로세스는 한 번만 계산되고 다른 프로세스는 계산되지 않습니다.999이류. 알겠어요.

[2]: 저는 사용하고 있어요프로세스그리고철사내가 이해하는 한 스케줄러의 관점에서 크게 다르지 않아 보이기 때문에 여기서는 상호 교환이 가능합니다. 내 문제를 설명하려면 프로세스당 하나의 스레드만 있는 시스템에 대해 이야기하고 있다고 가정하십시오. 여러 스레드가 있는 프로세스를 살펴볼 때 흥미로운 차이점이 있다면 주목하세요!

관련 정보