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
or ( 대신 ps
원하더라도 )을 사용하여 어떤 프로그램이 이를 사용하고 있는지 확인할 수 있습니다. 기본적으로 CPU 사용량을 기준으로 정렬하는 명령줄 도구를 사용할 수도 있습니다 . 을 입력하면 메모리 사용량 기준 정렬로 전환됩니다.rss
vsize
top
M
아울러, 오해를 바로잡아드리고 싶습니다. 교환은 되지 않습니다.사용메모리. 312는 스왑용 RAM이 312KB라는 의미는 아닙니다. 이는 RAM 대신 312KB의 스왑을 사용한다는 의미입니다. 컴퓨터에 RAM이 부족하면 RAM을 확보하기 위해 디스크에 메모리 내용 쓰기("페이징")가 시작됩니다. 스왑 번호는 디스크에 RAM이 얼마나 기록되었는지 알려줍니다.