우선, 더 자세한 답변을 시작하기 전에. 첫 번째 스크린 샷에서 비 페이징 풀 (커널 메모리 사용 유형)은 1.3GB입니다. 그것은 특히 부팅 후 30 분 동안 나에게 비정상적으로 높은 것 같습니다. 장기간 사용 후 또는 체처럼 누출되는 프로그램으로 NP Pool이 높은 것을 볼 수 있다고 생각합니다. 반대로 내 NP 풀은 일반적으로 100에서 200MB 사이이며 페이징 풀은 400 또는 500만큼 높을 수 있습니다 (그리고 몇 주 동안 재부팅하지 않고 시스템을 실행 한 후).
열 머리글을 마우스 오른쪽 단추로 클릭하고 열 선택을 선택하여 작업 관리자에서 몇 가지 추가 열을 활성화 할 수 있습니다. 당신은 추가해야합니다 Working Set (private)
, Working Set (shared)
, Commit
,와 NP Pool
. 모든 사용자의 모든 프로세스를 스캔하여 약 256KB 이상의 NP 풀이 있는지 확인하십시오. 특히 상당히 높은 것이 있으면 문제의 원인 일 수도 있고 적어도 일부일 수도 있습니다.
프로세스에서 사용중인 실제 메모리의 양인 총 작업 세트는 개인 및 공유 작업 세트 (WS)의 조합입니다. 개인은 대부분의 프로세스에서 일반적으로 더 크지 만 더 많은 양의 공유 WS를 사용하는 것이있을 수 있습니다. 둘은 일반적으로 총 WS에 합산되어야합니다. 커밋은 백업 저장소 (대부분의 경우 Windows 페이지 파일)에 커밋 된 작업 집합의 양입니다. 백그라운드 응용 프로그램은 종종 WS보다 커밋이 더 커져 페이징 풀의 많은 부분이 메모리와 페이징 파일로 스왑되었음을 나타냅니다 (최소한 한동안 사용되지 않은 데스크톱 앱의 경우 매우 정상 임).
비 페이징 풀은 실제 메모리에서 스왑 할 수없는 메모리이며 사실상 영구적 인 최소 실제 메모리 사용량입니다. NP 풀 메모리에는 종종 실제 또는 메모리에서 올바르게 또는 안전하게 동작하기 위해 필요한 특수 섹션 등의 프로그램 코드 및 중요 섹션이 포함되어 있습니다. 60 개의 프로세스 중 256KB의 NP 풀 메모리가있는 경우 60 개의 프로세스 중 절대 최소 실제 메모리 사용량 약 15,360KB입니다. 대부분의 경우 하나 또는 두 개의 앱에는 256KB NP 풀이있을 수 있지만 대부분은 더 적거나, 상당히 적습니다 (또는 없음). 시스템이 모든 프로세스 작업 세트 전체를 페이징 아웃하지는 않을 것이므로 메모리 사용량이 그렇게 낮아질 것으로 기대하지 마십시오.
마지막으로, 더 많은 메모리를 갖는 요점은 실제 디스크의 확장 메모리 공간 (스왑, 페이지 파일)으로 데이터를 페이징하지 않아도됩니다. 페이징은 할당 된 실제 메모리 블록을 이동하고 일부를 디스크로 푸시하고 다른 메모리를 디스크에서 실제 메모리로 가져 오는 프로세스입니다. 페이징은 간단하고 매우 바람직하지 않습니다. "나쁜"것은 아니지만 너무 자주 발생하면 성능에 실제로 끌릴 수 있습니다. 시스템에서 총 실제 RAM을 늘리는 궁극적 인 점은 더 많은 프로세스가 실제 메모리에 더 많은 커밋을 유지할 수 있도록하는 것입니다 (큰 작업 세트). 메모리 소비는 문제가되지 않으며, 더 많은 실행 프로세스가 더 많은 메모리를 사용하면 총 시스템 성능과 활성 프로세스 성능이 일반적으로 더 높아집니다.
Windows는 사용자를 위해 메모리를 관리하고 자동으로 페이지 (스왑) 파일에 대해 메모리 안팎으로 데이터를 페이징합니다. 9GB의 메모리가 필요한 프로세스를 실행하고 시스템에서 이미 4GB (12GB 중)를 사용중인 경우 시스템은 전체 작업 세트에 즉시 액세스 할 필요가없는 프로세스를 자동으로 파악하여 일부 또는 전부를 페이징합니다 여분의 1GB를 확보하기 위해 스 페이징 된 페이징 풀 중 대규모 프로세스에 결국 더 많은 메모리가 필요한 경우, 새로 요청 된 블록을 할당하기에 충분한 여유 공간이 확보 될 때까지 Windows는 다른 프로세스의 작업 세트를 추가로 줄입니다. 대규모 프로세스는 결국 NP 풀을 제외하고 사용 가능한 모든 메모리를 소비 할 수 있으며 Windows가 더 많은 작업 세트를 확보 할 수없는 프로세스를 주기적으로 실행하기위한 최소한의 추가 오버 헤드가 발생할 수 있습니다 (i. 이자형. Windows가 물리적 메모리에서 스왑 할 수있는 보류중인 페이지 결함이 있지만 요청되기 때문에 이동할 수 없습니다.)
프로세스가 액세스 할 수있는 것보다 더 많은 메모리를 필요로하는 경우 (32 비트 프로세스는 일반적으로 2Gb에 액세스 할 수 있고, 일부는 4Gb보다 약간 향상된 기술을 사용하지만 64 비트 프로세스는 일반적으로 각각 약 48Gb의 메모리에 액세스 할 수 있음) Windows는 때때로 시도합니다 스왑 공간으로 메모리를 가상화합니다. 32 비트 응용 프로그램이 최대 허용 2Gb의 공간을 사용하려고하지만 1.2Gb 만 사용할 수있는 경우 Windows는 페이지 파일에 전체 2Gb를 예약하고 필요에 따라 프로세스 자체 데이터를 페이지 파일 안팎으로 이동시킵니다. 앱의 메모리 사용량을 지원합니다. 이 경우 총 "메모리"사용량은 총 커밋으로 갈 때 사용 가능한 실제 메모리보다 더 큰 것으로 보일 수 있습니다. Total Commit은 일반적으로 시스템에서 관리 할 때 실제 메모리 양의 2-3 배인 총 페이지 파일 크기에서 최대 값을 초과합니다. 귀하의 경우
하나의 마지막 요점. 당신은 16Gb의 RAM을 가지고 있다고 대답했습니다. 여기서 작업 관리자는 12Gb의 RAM 만 보입니다. 두 가지 중 하나입니다. 시스템에 실제로 12Gb의 RAM 만 있거나 스틱 중 하나가 제대로 등록되지 않았습니다. 램 스틱 (4x 4Gb 스틱이라고 가정)이 잘못되었거나 마더 보드에 제대로 장착되지 않았거나 마더 보드에 메모리 감지 문제가있을 수 있습니다.
후자인지 확인하려면 먼저 메인 보드 BIOS를 최신 버전으로 업데이트해야합니다. 비슷한 문제가있었습니다 ... 램 (6x 2Gb)의 6 개의 Tripple-Channel DDR3 스틱은 각각 개별적으로 테스트 한 결과 모두 훌륭했지만 내 마더 보드는 무작위로 자주 하나 또는 두 개를 세지 않기로 결정했습니다. 종종 8Gb의 램으로 나를 떠나게합니다. BIOS 업데이트로 문제가 해결되었으며 지금은 12Gb의 모든 메모리에 안정적으로 액세스 할 수 있습니다.