버퍼 캐시 및 여유 메모리

버퍼 캐시 및 여유 메모리

다음은 Ubuntu의 free 출력입니다.

$ free
             total       used       free     shared    buffers     cached
Mem:       8173180    8013092     160088          0    1076276    3091136
-/+ buffers/cache:    3845680    4327500
Swap:     11719380        312   11719068

총 실제 메모리는 8GB입니다. 사용된 총 메모리는 이에 가깝지만, 버퍼 캐시에서 사용되는 총 메모리는 그 절반인 약 4GB입니다. 스왑으로 사용되는 메모리는 거의 없습니다.

이제 버퍼 캐시는 디스크에 대한 읽기/쓰기를 수행했기 때문에 파생되었으며, 처음 이후에는 읽기/쓰기 속도를 높이는 데 더 이상 필요하지 않을 때까지 애플리케이션이 메모리에 로드됩니다. 따라서 디스크 버퍼링에 대한 총 읽기/쓰기는 4GB입니다.

좋습니다. 그런데 어떤 종류의 프로세스가 다른 4GB의 물리적 메모리(버퍼 캐시 제외)를 사용하고 있나요? 그것을 어떻게 결정할 수 있습니까?

답변1

남은 메모리는 시스템에서 실행되는 다양한 프로그램의 힙과 스택에 사용되고 있습니다. Joel Davis가 자신의 의견에서 말했듯이 gnome-system-monitor또는 ( 대신 ps원하더라도 )을 사용하여 어떤 프로그램이 이를 사용하고 있는지 확인할 수 있습니다. 기본적으로 CPU 사용량을 기준으로 정렬하는 명령줄 도구를 사용할 수도 있습니다 . 입력하면 메모리 사용량 기준 정렬로 전환됩니다.rssvsizetopM

또한, 오해를 바로잡고 싶습니다. 스왑은 그렇지 않습니다.사용메모리. 312가 312KB의 RAM이 스왑에 사용된다는 의미는 아닙니다. 이는 실제로 RAM 대신 312KB의 스왑이 사용됨을 의미합니다. 컴퓨터에 RAM이 부족하면 RAM을 확보하기 위해 메모리 내용을 디스크에 쓰기("페이징") 시작합니다. 해당 스왑 번호는 디스크에 RAM이 얼마나 기록되었는지 알려줍니다.

관련 정보