커밋 된 바이트 및 커밋 제한 - 메모리 통계


0

커밋 된 바이트와 커밋 제한 사이의 실제 차이를 이해하려고합니다. 아래 정의에서,

커밋 한도 커밋 될 수있는 가상 메모리의 양 페이징 파일을 확장하지 않아도됩니다. 바이트 단위로 측정됩니다. 커밋 된 메모리는 디스크 페이징 파일에 예약 된 공간이있는 실제 메모리입니다.

커밋 된 바이트 커밋 된 가상 메모리의 양 (바이트)입니다.

내 컴퓨터 구성에서 실제 메모리는 1991 MB이고, 가상 메모리 (모든 파일의 총 페이징 파일)는 1991 MB이고 최소 허용 개수는 16 MB이며, 권장 용량은 2986 MB이며 현재 할당 된 용량은 1991 MB입니다.

하지만 내 perfmon을 열고 Committed Bytes 및 Commit Limit를 모니터링하면 숫자가 많이 달라집니다. 그렇다면 이러한 Committed Bytes와 Commit Limit는 정확히 무엇이며 어떻게 구성됩니까?

지금 내 perfmon에서, Committed Bytes는 3041MB로 실행되고 (가끔 4000MB로 이동하는 경우도 있음) Commit Limit는 4177MB입니다. 그러면 어떻게 계산됩니까? 설명해주세요. 많은 문서를 읽었지만 어떻게 작동하는지 이해하지 못했습니다.

도와주세요. 감사.

답변:


2

커밋 제한은 RAM 크기 (여유 RAM, OS에서 사용할 수있는 총 RAM이 아님) 및 현재 페이지 파일 크기입니다.

이것은 시스템에 존재할 수있는 "개인 위임"가상 메모리의 최대 크기입니다. 간단히 말해서, "private committed"가상 메모리는 페이지 파일이 "backing store"인 가상 메모리입니다. 모든 것을 RAM에 보관할 수 없다면, RAM에 보관할 수없는 것은 페이지 파일에 있어야한다는 것입니다. 다른 장소가 없기 때문입니다.

Committed Bytes, 일명 "커미트 요금"은 대부분 현재 할당 된 모든 개인 커밋 된 메모리와 다음 단락에서 언급 된 비 페이징 할당의 합계입니다.

다른 유형의 가상 메모리는 다른 파일 (매핑 된 파일)에 의해 백업됩니다. 즉, 자체 백업 저장소가 제공되므로 요금을 청구하지 않거나 항상 RAM에 있어야합니다 (예 : 비 페이징 풀, AWE 할당). 이것들은 요금을 청구하는 데 기여합니다.

PerfMon에서 각 프로세스의 "Private bytes"카운터는 "커밋 된 바이트"할당입니다. 즉 시스템 전반에 걸친 "커밋 차지 (commit charge)"에 대한 기여. 페이징 풀은 "커밋 된 바이트"로 계산됩니다. RAM 또는 페이지 파일에 있어야합니다. 비 페이징 풀, AWE 할당 및 기타 페이징 할 수없는 것들도 남은 "커밋 제한"잔량이 제대로 계산되도록 (커밋되지 않은 바이트에도 불구하고) 커밋 된 바이트로 계산됩니다. 이들은 "커밋 된 바이트"의 주요 기여자입니다.

커밋 한도를 벗어나면 "시스템의 메모리가 부족합니다"또는 "시스템 메모리가 부족합니다"라는 메시지가 나타납니다. (무료 RAM이 아닙니다!) 전자의 경우 OS가 페이지 파일을 확장하여 커밋 제한을 늘려 새로운 할당을위한 공간을 마련합니다. 후자의 경우 이미 (현재 페이지 파일 설정 내에서) 가능한 한 많은 일을하고 누군가가 여전히 더 많은 것을 원한다.

더 자세한 내용은 내 답변 몇 가지를 참조하십시오. "은행 유추" , 정말로 긴 하나 , 및 다른 것 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.