실제, 가상, 공유 및 개인 메모리의 차이점은 무엇입니까?


58

Activity Monitor의 여러 열은 약간 혼란 스럽습니다.


액티비티 모니터의 열과 비교하여 프로세스에서 "검사"를 클릭하면 다섯 번째 유형의 메모리가 있음을 알 수 있습니다. 특히 "가상 메모리"에는 "가상 메모리 크기"와 "가상 개인 메모리"의 두 가지 유형이 있습니다. 후자는 활동 모니터의 "가상 메모리"열에 표시된 것입니다.
drfrogsplat

답변:


44

내 대답에서 찍은 서버 오류 :

Mac OS X 메모리 전문 용어 :

열광한 : 이것은 커널 코드 등을 의미합니다. RAM에서 옮겨지지 않아야하는 메모리. 또한 상주 메모리로 알고 있습니다.

공유 된 : 둘 이상의 프로세스간에 공유되는 메모리입니다. 두 프로세스 모두이 양의 메모리를 보여주기 때문에 실제 사용중인 메모리의 양을 오도 할 수 있습니다.

레알 : task_info ()에 의해보고 된 응용 프로그램의 "실제"메모리 사용량 - 현재 프로세스에있는 실제 페이지 수의 대략적인 수입니다. (RSIZE)

은밀한 :이 프로세스는 상주 메모리에서 사용되는 프로세스 만 단독으로 사용하는 메모리입니다. (RPRVT)

가상 : 아무 것도 매핑되지 않은 프로세스의 주소 공간의 총량 - 변수를위한 임의의 큰 공간이든 실제 VM 사용과 동일하지는 않습니다. (VSIZE)

유효한 : 현재 메모리는 활성으로 표시되고 RAM으로 사용됩니다.

비활성 : "비활성 메모리는 더 이상 사용되지 않으며 디스크에 캐시되었습니다. 다른 응용 프로그램이 공간을 필요로 할 때까지 RAM에 남게됩니다.이 정보를 RAM에 남겨두면 사용자 (또는 컴퓨터 클라이언트)가 다시 돌아올 때 유용합니다. 나중에. " - Mac OS X 도움말

비어 있는 : 데이터없이 실제로 사용할 수있는 RAM의 양.


내가 아는 최고의 문서 (후속 연구에서 찾을 수 있음)는 Apple 자체 메모리 관리 개발자 웹 사이트의 기사

다른 유용한 소스 : Darwin-dev 메일 링리스트 : 1 ], [ 2 ] 및에 대한 이전 기사 MacOSXHints . 또한 Mike Ash는 자신에 대한 평신도의 소개를 올렸습니다. 블로그


5
Apple의 Managing Memory doc을 읽으면서, 비활성 반드시 디스크에 캐시되지는 않았습니다. 비활성 메모리 사용량 (현재 747.5MB)과 "사용 된 스왑"(현재 0 바이트)을 확인하면이를 증명할 수 있습니다. 비활성은 프로세스에 의해 최근에 읽히거나 쓰여지지 않은 메모리 페이지를 나타냅니다.
drfrogsplat

1
액티비티 모니터에는 "가상"메모리에 대한 두 가지 참조가 있으므로 "가상"을 명확히하는 것이 좋습니다. "가상 메모리"열은 " 가상 개인 메모리 "라고 Inspect Process 창에서 입력 한 다음" 가상 메모리 크기 "그 창에 들어가면 (나는 공유 된 가상 메모리의 구성 요소). 이것은 10.6.4에 있습니다 (활동 모니터가 용어를 변경 한 경우 ...)
drfrogsplat

"개인 메모리"는 "실제 메모리"의 일부입니까?
Franklin Yu

5

실제 메모리는 실제 메모리 (실제 RAM 모듈)와 관련이 있습니다. 가상 메모리는 프로세스에 할당 된 "가짜"메모리의 양으로 해당 프로세스의 영구 저장 매체 (하드 드라이브, 솔리드 스테이트 드라이브 등)에 할당 된 메모리를 의미합니다. 공유 메모리는 다른 프로세스와 공유 할 수있는 실제 (실제) 메모리입니다. 개인용 메모리는 할당 된 프로세스에서만 사용할 수있는 "실제"메모리입니다.

이러한 설명은 활동 모니터에서 바로 도움이 될 수 있습니다. & gt; 도움말 - & gt; 시스템 메모리 사용보기 :

다음은 메모리 팬의 하단에 표시되는 정보 중 일부에 대한 설명입니다.

  • 유선 : 유선 메모리에는 항상 RAM에 있어야하는 정보가 들어 있습니다.
  • 활성 : 현재 사용중인 정보가 포함 된 활성 메모리입니다.
  • 비활성 : 비활성 메모리에는 활발하게 사용되지 않는 정보가 들어 있습니다. 이 정보를 RAM에 남겨두면 나중에 컴퓨터 (또는 컴퓨터의 클라이언트)가 나중에 다시 돌아올 때 유용합니다.
  • Used : 사용 된 메모리가 프로세스 또는 시스템에서 사용 중입니다. 사용 된 메모리는 유선, 활성 및 비활성 메모리의 합계입니다. 시스템에 메모리가 필요한 경우 메모리를 사용하기 전에 사용 가능한 메모리가 필요합니다.
  • Free : 사용 가능한 메모리가 사용되지 않고 즉시 사용할 수 있습니다.
  • VM 크기 : 가상 메모리 또는 VM은 메모리로 사용할 수있는 하드 디스크 공간입니다. VM 크기는 메모리로 사용되는 디스크 공간입니다. Mac OS X은 가지고있는 실제 RAM 용량보다 더 많은 메모리를 사용할 수 있습니다. 하드 디스크는 RAM보다 훨씬 느리므로 가상 메모리 시스템은 효율적인 성능을 위해 자동으로 디스크 공간과 RAM 사이에 정보를 배포합니다. 페이지 삽입 / 종료 : Mac OS X이 RAM과 디스크 공간 사이를 이동 한 정보의 기가 바이트 수

6
이것은 올바르지 않습니다. 가상 메모리는 디스크에 할당 된 메모리 (스왑이라고 함)가 아닙니다. 가상 메모리는 주소 공간이 할당되었지만 실제 메모리에는 없습니다. 그것은 똑같은 것처럼 보일지 모르지만, 다른 것은 미묘합니다. 많은 경우에 프로그램은 메모리를 건드리지 않고 메모리를 할당합니다. 이 경우 프로그램은 많은 가상 메모리를 사용합니다. 구체적인 예를 들어, 우리 시스템은 현재 512MB의 스왑을 사용하고 있지만 196GB의 가상 메모리가 할당되어 있습니다 (이는 K64에서 Snow Leopard를 실행하는 사람들에게 매우 일반적입니다).
Louis Gerbarg

2
@ 루이스, 가상 메모리가 할당되었지만 RAM이나 하드 디스크를 사용하지 않으면 어디 있습니까?
Michael Underwood

4
@ 마이클 : 아무데도. 그것은 이론적이다. 할당 되었기 때문에 주소가 할당되었다고해서 그것이 실제로 사용되고 있다는 것을 의미하지는 않습니다. OS의 하위 레벨 비트는 RAM이나 스왑 스토리지의 물리적 위치에 언제 이러한 주소를 매핑할지 알지만 애플리케이션이 실제로 이러한 주소에 정보를 저장하지 않는 경우 해당 공간을 묶을 필요가 없습니다. 뿐만 아니라, 각 프로세스의 가상 메모리 인 VM이 VM 크기를 추가하는 데 거의 사용되지 않음을 알 수 있습니다. 프로세스는 실제로 모든 메모리를 사용하지 않습니다.
Robert S Ciaccio

2
실제로 스왑 할 수없는 VM이 ​​많이 있습니다. 예를 들어, 4GB의 파일을 mmap하면 4GB의 VM이 필요하며, 읽기에서는 파일에서 직접 페이지를 가져오고 원본 파일을 다시 읽을 수 있기 때문에 압력을 가하면 스왑되지 않습니다. VM과 스와핑은 완전히 다른 것들이며, VM은 스왑 할 대상을 파악하기 위해 사용됩니다.
Louis Gerbarg

3
VSIZE를 통해 나는 활동 모니터에 나열되지 않은 것을 무엇을 가리키고 있는지, 원하는 경우 상단에 나열된 것을 볼 수 있습니다. 가상 메모리 열에 어떤 활동 모니터 목록이 있는지는 일반적으로 VPRVT로 지칭되는데, 이는 다른 앱과 공유되지 않는 앱에서 사용하는 가상 주소의 양입니다.
Louis Gerbarg

4

Apple은 OSX 10.9 (Mavericks)에서 Activity Monitor를 업데이트했습니다. 여기에는 모든 것이 의미하는 바에 관한 좋은 기사가 있습니다. http://support.apple.com/kb/HT5890 . 요약하자면...

enter image description here

  • 물리적 메모리: 설치된 RAM의 양.
  • 사용 된 메모리 : 사용중인 RAM의 양으로 다른 앱에서는 즉시 사용할 수 없습니다.
  • 가상 메모리 : 앱이 요청한 메모리 매핑 양입니다. 이것은 RAM 리소스의 실제 소비가 아니며 크기는 앱 제작자가 결정합니다.
  • 사용 된 교환 : 사용되지 않는 파일을 RAM과 교환하는 데 사용되는 드라이브의 공간. 일부 활동을 보는 것이 정상이며 RAM 리소스가 고갈되었음을 나타내는 것은 아닙니다. 빨간색 상태의 메모리 압력을 보면 RAM 리소스가 모두 소모되었음을 나타냅니다.
  • 앱 메모리 : 앱에서 사용되는 공간입니다.
  • 유선 메모리 : 디스크에 캐시 할 수없는 메모리이므로 RAM에 있어야합니다. 이 메모리는 다른 앱에서 빌려 올 수 없습니다.
  • 압축 됨 : 압축 된 RAM의 메모리 양으로 다른 응용 프로그램에서 사용할 수있는 RAM 리소스가 늘어납니다.
  • 파일 캐시 : 응용 프로그램에서 사용할 수있는 것으로 표시된 RAM의 공간에는 최근에 사용한 파일이 들어 있습니다.

메모리 압력 그래프

무료, 유선, 활성, 비활성 & amp; 이전 버전의 Activity Monitor에서 사용 된 메모리 통계가 Mavericks에서 "Memory Pressure"그래프로 쉽게 바뀌 었습니다.

메모리 압력은 색상으로 표시됩니다.

  • 녹색 - RAM 메모리 리소스를 사용할 수 있습니다.
  • 호박색 - RAM 메모리 리소스에 대한 작업이 진행 중입니다.
  • 빨간 - RAM 메모리 리소스가 고갈되고 OS X이 드라이브를 사용하여 메모리를 사용 중입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.