근무일이 끝날 때“비활성”메모리가 많으면 무엇을 의미합니까?


21

Mac OS X 10.6.5를 실행하는 MacBook Pro에서 하루 동안 작업을 한 후 Activity Monitor는 내 컴퓨터의 8GB 메모리의 대부분이 "비활성"이고 원형 차트의 작은 조각 만 "무료"인 것으로 나타났습니다. Finder 만 실행하여 모든 응용 프로그램을 닫은 경우에도 마찬가지입니다.

그게 무슨 뜻이야? "비활성"메모리가 무언가를 차지합니까? 아니면 실제로 응용 프로그램에서 계속 사용할 수 있습니까? 감사.


답변:


27

대부분의 최신 운영 체제와 마찬가지로 OS X는 가상 메모리 시스템을 사용하여 메모리 를 관리합니다. 무엇보다도 운영 체제는 컴퓨터가 무제한 메모리 풀을 갖는 것으로 간주 할 수 있습니다. 이를 위해 OS는 RAM의 사용되지 않은 부분을 swapfile 이라고하는 디스크 저장소로 페이징합니다 .

물론 RAM은 무제한이 아니므로 OS X는 RAM을 유선, 활성, 비활성 및 무료의 네 가지 범주로 그룹화합니다. 유선 메모리는 운영 체제에 필요하며 메모리에서 페이징되지 않습니다. 활성 메모리는 현재 실행중인 프로그램에서 사용하는 메모리입니다. 비활성 메모리는 최근에 종료되었거나 오랫동안 사용하지 않은 프로그램에서 최근에 사용했습니다. 사용 가능한 메모리는 이름에서 알 수 있듯이 사용되지 않는 RAM입니다.

프로그램을 시작하면 활성 메모리로로드됩니다. 그러나 프로그램을 종료하면 RAM에서 제거되지 않습니다. 오히려 비활성 메모리에 충돌합니다. 그렇기 때문에 종종 프로그램을 다시 시작하는 것이 더 빠릅니다. 여전히 RAM에 있습니다 (Firefox와 같은 큰 프로그램으로 시도하십시오).

모든 메모리가 사용되면 (여유 메모리가 0 임) OS는 비활성 메모리를 스왑 파일에 기록하여 활성 메모리에 더 많은 공간을 만듭니다.

프로그램이 스왑 파일로 페이징되고 다시 시작하면 스왑 파일에서 활성 메모리로 가져옵니다.

즉, 여유 메모리가 부족한 경우 실제로 신경 쓰지 않아야합니다. 실제로, 당신은 그것을 낮추기를 원합니다-사용 가능한 메모리는 메모리를 낭비합니다 (OS는 아무것도 사용하지 않기 때문에).

컴퓨터에서 사용중인 메모리 양을 검사 할 때 실제로 가상 메모리 스왑 파일의 크기를 알려주는 Swap used 및 스왑 파일 에서 OS가 메모리를 가져 오는 빈도를 알려주는 Page ins에 주로주의를 기울이고 싶습니다. 활성 메모리로.


2
Page ins는 스왑 파일에서로드뿐만 아니라 프로그램 로딩도 포함하기 때문에 Page outs가 Page ins보다 스왑 사용량을 나타내는 더 나은 지표라는 것을 알았습니다.
Gordon Davisson

1
Activity Monitor에서 내 VM 크기가 160GB 이상입니다! 내 컴퓨터에 실제로 그렇게 큰 스왑 파일이 있습니까?!
hpy

1
@penyuan : 아니요. 이론적으로 스왑 파일의 크기는 크지 만 스왑 파일의 실제 크기는 활동 모니터에서 사용 된 스왑으로 표시 됩니다 .
mipadi

1
비활성 메모리 는 응용 프로그램에 의해 다시 액세스 할 수있는 파일 시스템 또는 라이브러리하지만 특별히 캐시를 말하는 것처럼 부분적이지만입니다 또한 확인 (일부 기간에 액세스 할당하지만하지 않은 현재 실행중인 응용 프로그램에서 메모리 블록을하지 정확한 시간 길이). 사용 가능한 메모리 양이 너무 적 으면 디스크에 페이징 아웃하도록 우선 순위를 정하기 위해 커널은 이들을 비활성으로 표시합니다 .
drfrogsplat

2
@deceze : 비활성 메모리가 페이징 아웃됩니다. 더 이상 필요하지 않으면 활성 메모리가 비활성으로 이동합니다. 메모리가 부족하여 비활성 메모리를위한 공간이 없으면 활성 메모리가 디스크로 직접 페이징되지만 특별한 상황입니다. 실제로, 스왑 파일은 이론적으로 무한히 커지지 만 (디스크 공간이 더 이상 없을 때까지) 극히 드물게 발생합니다.
mipadi

9

이것은 문제가되지 않을 가능성이 높으며 실제로 컴퓨터 속도를 높일 수 있습니다.

모든 (대부분의) 운영 체제는 디스크 캐시를 사용합니다. 디스크 캐시는 최근에 액세스 한 파일을 메모리에 저장하므로 해당 파일에 대한 반복 액세스가 가속화 될 수 있습니다. OS X의 디스크 캐시는 크기가 다양하며 사용중인 "비활성 메모리"로 나타납니다.

프로그램에 더 많은 메모리가 필요한 경우 OS X은 프로그램 실행 / 확장을위한 공간을 허용하기 위해 일부 디스크 캐시 (가장 최근에 사용한 파일)를 지 웁니다.

많은 컴파일 또는 사진 정렬 (즉, 수천 개의 파일에 연속적으로 액세스)을 수행하면 디스크 캐시가 확장되어 많은 비활성 메모리가 사용됩니다. 이 디스크 캐시 만 제공하면 걱정할 필요가 없습니다.

메모리 사용량이 늘어나고 있지만 (페이지가 비활성 상태로 표시되는) 백그라운드 프로세스 또는 애플리케이션 인 경우 활동 모니터에서 "실제 메모리"사용량이 매우 높은 프로그램을 확인하여 알 수 있습니다. 명백하게 큰 것이 없다면 (즉, 총 용량이 8GB에 미치지 못합니다) 파일 캐시가됩니다.

스왑 사용량이 적고 메모리를 많이 사용하는 프로그램을 열면 디스크로 스왑하지 않고도 비활성 메모리의 양이 줄어 듭니다.

(10.4 또는 10.5에는 버그가 있다고 생각합니다.이 메모리를 항상 효과적으로 비울 수는 없으며 대용량 디스크 캐시에도 불구하고 스왑을 일으킬 수 있지만 내 경험상 10.6에서 해결 된 것으로 보입니다).


비활성 메모리는 실제로 디스크로 페이징 된 메모리가 아닌 RAM입니다.
mipadi

3

"비활성"메모리는 다른 프로그램에서 사용할 수 있습니다. 다시 필요할 때를 대비하여 최근에 사용한 프로그램이나 데이터를 캐싱하는 것입니다. 다른 프로그램을 시작하거나 다른 데이터가 필요한 경우 캐시 된 메모리가 지워지고 필요에 따라 새 워크로드에서 사용할 수있게됩니다.

그것은 어쨌든 이론이며, 나는 그것이 타당하다고 믿는다. 그러나 나는 비활성 메모리가 충분히 빨리 릴리스되었다고 생각하지 않았기 때문에 누군가가 작성한 "퍼지"유틸리티에 대한이 참조 를 찾았 습니다.

주제에 대한 공식 문서를 보려면 이 내용을 읽고 "비활성"을 검색하십시오.


기록을 위해 내 MBP는 ​​현재 무료 58MB, 유선 239MB, 활성 1.84GB, 비활성 900MB라고 말합니다. 시스템은 꽤 훌륭하게 작동합니다.
Michael H.

1
퍼지 명령으로 신이 보낸 도구를 찾았습니다. Photoshop + Firefox + Illustrator + Netbean + SmartGit을 사용하면 4Gb iMac을 쉽게 죽일 수 있습니다. 물론, 파이어 폭스가 주요 원인이지만, 약간의 속도를 높이려면 파이어 폭스를 종료하고 "퍼지 &"를 다시 한 번 새로 작성
Antony

2
퍼지의 매뉴얼 페이지는 실제로 성능 분석을 위해 디스크 캐시 플러시 (익명 mem이 아닌 스택, 힙 또는 복사시 복사)로 작성되었다고 말합니다 (정확히 디스크 캐시가 시스템 속도를 높이기 때문에). 커널이 필요할 때 동적으로 메모리를 회수하는 것보다 느리기 때문에 더 빨리 릴리스하도록 작성되지 않았습니다. 응용 프로그램을 닫으면 할당 된 모든 mem이 완전히 제거되고 나중에 제거하면 응용 프로그램이 느려집니다 ( linuxatemyram.com/play.html 참조) . 쓰레기를 비우는 것처럼 퍼지에 대해 심리적 인 것이 있다고 생각합니다.
Jano

1

OS X 10.5부터는 MAC OS X에 명백한 메모리 관리 문제가 있습니다.

마침내 문제가있는 시나리오를 재현 할 수 있었으므로 테스트를 실행하고 화면을 비디오로 녹화했습니다.

MAC OS X Lion 성능 문제-손상된 메모리 관리

tar / bzip 명령을 기본 유닉스 작업으로 대량의 그림 파일에서 Pictures / 폴더로 실행합니다. 시작하기 직전에 "purge"명령을 실행하여 비활성 / 캐시 된 프로그램 데이터를 삭제합니다.

비디오에서 사용 가능한 메모리가 매우 빠르게 떨어지기 시작하고 비활성이 계속 증가하고 있음을 알 수 있습니다. "bsdtar"명령을 살펴보면 RAM 조각 만 사용되므로이 프로세스에는 문제가 없습니다. 프로그램 메모리 누수라고 말할 수 없습니다. 문제는 비활성 램이 아니라 활성 / 유선에 있기 때문입니다.

사용 가능한 메모리가 100MB 아래로 떨어지면 Safari, iPhoto 및 MS Word와 같은 일부 응용 프로그램을 시작했으며 비디오에서 응용 프로그램을 시작하는 데 몇 분이 걸리는 경우가 있습니다 (일반 RAM이있을 때). 로드하는 데 약 3-5 초가 걸립니다.

Linux Centos 6 상자에서 동일한 시나리오와 동일한 명령을 실행하지만 아무런 문제가 없습니다! 메모리 사용량은 약 10-20MB이며 캐시 / 버퍼에는 문제가 없습니다.

Mac OS X에서는 메모리 관리가 매우 어려워 야합니다!


1
설명하는 내용 중 일부는 다른 질문의 기초가 될 수 있지만이 질문에 대한 답변은 아닙니다.
Graham Perrin

2
사용 가능한 메모리에 대한 설명이 설정 포인트로 급속히 감소하고 시스템이 나머지 비활성 및 유선 RAM을 비활성으로 누적하는 것은 시스템이 설계된대로 정확하게 작동한다는 것을 나타냅니다. OS마다 메모리 관리가 다르기 때문에 다른 OS에서도 메모리 관리가 중단 된 것은 아닙니다. 최적화 선택에는 항상 단점이 있습니다.
bmike

0

이 설명은 "사용 가능한 메모리가 부족할 때 컴퓨터가 더 빨리 실행된다"는 말이 사실 인 경우에만 의미가 있습니다. 내 데스크탑 Mac이 이상하게 연결되어 있지 않으면, 사용 가능한 메모리 (모니터링 된)가 부족해지기 시작하는 순간, 당시 실행중인 프로그램이 저절로 돌아올 때까지 아무 것도 할 수없는 지점으로 멈춰지기 시작합니다. 내 자유 메모리 개입에 의해. 3GB RAM을 초과하는 iMac 2118 (2006 이상)이 있으므로 가능한 경우 관리하려고하지만 매우 실망 스럽습니다. 이견있는 사람?

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