모든 메모리가 일반적으로 사용되지 않는 경우 RAM이 더 많은 컴퓨터가 잠재적으로 더 빠릅니까?


85

16GB의 메모리가있는 컴퓨터가 있다고 가정 해 봅시다. 내 컴퓨터가 일반적으로 약 4GB 만 사용하고 8GB에 도달하지 않는 경우 8GB (동일한 유형의) 메모리 만있는 컴퓨터보다 더 빠릅니까? 16GB의 나머지 절반을 8GB 만 남겨두면 내 컴퓨터가 똑같이 빠르게 작동합니까?


17
이 질문의 어려움 중 하나는 가상 메모리와 메모리 매핑 파일이있는 최신 운영 체제에서 "사용 중"을 정의하기 어렵다는 것입니다. 예를 들어, 실행 프로그램의 코드 ( "텍스트") 세그먼트가 "사용"또는 "캐시"입니까?
R ..

5
다른 운영 체제는 메모리를 다르게 관리합니다. 질문에 운영 체제가 표시되지 않았습니다. "사용"이라는 용어는 다른 것을 의미 할 수도 있습니다. 나쁜 질문, 심지어 더 나쁜 답변이 선택되었습니다.
Jason

메모리 주소 드라이버의로드가 적기 때문에 더 작은 메모리가 더 빠를 수 있습니다. 그러나 실제로는 클럭 속도가이를 고려하여 조정되므로 의심의 여지가 없습니다. (이것은 "추가"RAM이 단지 덩어리처럼 앉아서 어떤 식 으로든 사용되지 않는다고 가정합니다.
Daniel R Hicks

3
이 질문에는 실제로 "사용 중"에 대한 정의가 필요합니다. 캐시를 주장하는 모든 대답은 (현재 승인 된대로) 메모리 사용 에 대해 알려줍니다 . 이것은 아마도 더 유용한 정의 일지 모르지만, 다른 메모리 사용을 분리하는 것이 도움이 될 것입니다. 완전히 사용되지 않은 메모리가 도움이된다면 토론하고 싶지 않을 것입니다 ...
Nanne

또한 여분의 램 스틱을 사용하면 둘 다 병렬로 액세스 할 수 있어야하기 때문에 더 빠릅니다.
Tyzoid

답변:


112

예, 운영 체제는 추가 RAM을 디스크 캐시로 사용할 수 있으므로 디스크의 데이터에 대한 액세스 속도가 향상됩니다.

그러나 추가 RAM은 CPU 바인딩 계산 (많은 디스크 I / O를 포함하지 않음)을 더 빠르게 만들지 않습니다.


31
다른 목적으로 사용되지 않는 모든 RAM. (디스크 공간보다 더 많은 RAM을 가지고 있지 않은 경우는 거의 없습니다.)
Wyzard

30
리눅스는 그렇습니다. Mac OS가 그렇게하지 않으면 놀랐습니다. 어리석지 않을 것입니다.
Wyzard

9
어디에서 "보이지 않습니까"? freeLinux 시스템에서 실행 하고 "캐시 된"열을보십시오. 그놈 시스템 모니터와 같은 일부 고급 응용 프로그램은 RAM을 다른 프로그램에서 사용할 수 있기 때문에 캐시를 "사용 중"으로보고하지 않습니다. 커널은 언제든지 캐시를 폐기 할 수 있습니다.
Wyzard

4
@PTwr-이 경우 OS는 해당 파일을 캐싱해야하고 속도를 크게 높여서는 안됩니다. RAM 디스크는 작성중인 경우 도움이 될 수 있습니다. 그러나 속도 차이를 측정하여 그 가치가 있는지 확인하십시오
user151019


59

모든 운영 체제가 메모리를 다르게 관리하고 아무것도 제공하지 않았으므로 Windows 7의 맥락에서 대답하겠습니다.

아래는 RAM이 24GB 인 컴퓨터의 예입니다. 현재 7GB 만 "사용 중"메모리로 할당되어 있지만 다른 10GB는 "대기"메모리로 할당되며 다시 읽거나 읽지 못할 수있는 데이터를 포함합니다. 읽 히면 컴퓨터가 더 빨라집니다. "Free"메모리는 현재 사용되지 않습니다.

리소스 모니터

  • "사용 가능"은 대기 및 사용 가능한 메모리입니다. 다시 말해 현재 모든 메모리가 필요하지 않습니다.
  • "캐시 됨"은 대기 및 수정 된 메모리입니다. 캐싱에 사용 된 모든 메모리. 수정 된 부분은 대기 상태가되기 전에 디스크에 기록되기를 기다리는 부분입니다.
  • "전체"메모리는 하드웨어 예약을 제외한 모든 메모리입니다.

Windows 7의 메모리 사용에 대해 자세히 알아 보려면 TechRepublic에 유용한 기사가 있습니다.


그렇다면이 컴퓨터가이 부하에서 8GB를 더 추가하면 어떻게 될까요? "아무것도"없는 것으로 의심되지만로드가 길거나 가동 시간이 긴 사용자는 훨씬 더 캐시 된 것으로 생각합니다.

3
@JonofAllTrades 동의합니다. 내가 링크 한 기사에서 언급하지 않은 것은 SuperFetch (Windows 7의 기본 서비스)입니다. SuperFetch 는 액세스 하기 전에 메모리에 항목을로드합니다 . 파일에 사용 패턴을 기록하고 완전히 최적화하기 위해 몇 번의 재시작 / 일이 소요됩니다.
Jason

이것은 Linux에서도 발생합니까?
캐스퍼

16

운영 체제가 8GB 중 4GB 만 사용하는 경우 16GB 중 4GB를 사용하는 시스템과 다르게 실행되지 않습니다.

사용되지 않은 램은 기계 성능에 영향을 미치지 않습니다.

그러나 이상적인 상황은 OS가 거의 모든 사용 가능한 RAM 을 사용하는 것 입니다. OS와 응용 프로그램은 필요한 것을 요청하고 나머지 램은 캐시로 사용해야합니다. 캐시는 여전히 "사용"된 것으로 간주되며 메모리가없는 도구에서 사용되는 것으로 나타납니다.

캐시는 빌드하는 데 시간이 걸리므로 부팅시이를 볼 수 없습니다. 잠시 후에도 컴퓨터에서 여전히 4GB 이상을 사용하지 않는 경우 아마도 4GB 이상 (일반적으로)을 처리 할 수없는 32 비트 OS를 실행 중일 수 있습니다.


4
디스크 캐시를 "사용 된"RAM으로 간주하는지 여부에 따라 다릅니다. free예를 들어, Linux 프로그램은이를 두 가지 방식으로보고합니다.
Wyzard

나는 GUI가 사용자에게 나타내는 것과 실제 상황이 다를 수 있다고 생각합니다. 캐시에 사용되는 RAM은 사용자 도구가 해당 사실을 사용자에게 숨기는 지 여부에 관계없이 사용됩니다.
Paul

"머신이 여전히 4GB 이상을 사용하지 않는 경우 ..." -> 다시, 디스크 캐싱은 훌륭하지만 디스크에서 캐시 할 수있는 항목이 많은 경우 실제로 모든 사용 가능한 RAM을 채우지 않습니다- - 실제로 사용했던 것만 캐시 하고 현재는 아닙니다 . 정상적인 활동에 많은 양의 포토샵이 포함되어 있거나 컴퓨터가 많은 서버가있는 바쁜 서버가 아닌 한 2GB 이상에 해당하지 않을 것입니다 정적 파일.
goldilocks

@goldilocks 분명히 "잠시 후"는 모호하지만 "Windows 및 앱이 4GB를 초과하는 충분한 데이터를로드하게 된 기간이 지난 후"를 의미합니다. 나의 사용법은 상당히 일상적이며 이것을 일상적으로 능가합니다. 요점은이 한계에 도달하면 더 많은 캐시가 필요하지 않고 제약 조건을 해결하는 것일 수 있습니다.
Paul

9

방정식의 또 다른 부분은 메모리 스틱이 구성되는 방법입니다. 특히 최신 마더 보드는 듀얼 채널 메모리를 지원하므로 마더 보드와 메모리 사이의 대역폭을 두 배로 늘릴 수 있습니다. 메모리를 페어링하고 각 쌍 중 1 개를 꺼내면이를 잃어 버렸으므로 많은 메모리 전송을 수행 할 때 메모리 액세스가 줄어들어 작업 시간이 더 오래 걸립니다. (반대로, 8Gig의 더 빠른 메모리가 8Gig의 느린 메모리와 쌍을 이루고 8Gig 만 사용하고 있다면 8Gig의 느린 메모리를 제거하고 더 빠른 속도로 복구하면 여전히 듀얼 채널을 얻으므로 더 빨리 실행할 수 있어야합니다 그러나 가장 느린 메모리로 느리게 할 필요는 없습니다.)

그러나 일반적으로 다른 답변에 언급 된 캐싱 항목은 전반적인 성능에 크게 기여할 것입니다.


3

16GB 메모리의 절반을 제거하면 컴퓨터 속도가 느려집니다.

8GB에 가까운 메모리를 사용하지 않더라도 유지됩니다.

소프트웨어 측면은 다른 답변으로 다루어지며 디스크 대신 RAM을 사용하도록 OS를 선택합니다.

그러나 사용 가능한 RAM의 양을 절반으로 줄이면 하드웨어로 인해 성능이 저하 될 수 있습니다. RAM 버스는 다중 채널 아키텍처를 사용하기 때문에 컴퓨터가 여러 RAM 모듈간에 동시에 데이터를 전송할 수 있습니다.

컴퓨터는 이중 채널 일 것입니다. 이 경우 하드웨어 강제 성능 영향없이 4GB 중 4GB RAM 모듈 2 개를 제거 할 수 있습니다. 그러나 2 개의 8GB RAM 모듈 중 1 개를 제거하면 성능에 영향을줍니다.

쿼드 채널 RAM 아키텍처를 사용하는 경우 램이 4GB 모듈 인 경우에도 성능이 저하됩니다.


2

메모리가 최대 한도를 초과하거나 99 %가되면 하드 디스크에있는 페이지 파일로 인해 속도가 떨어집니다. 하드 디스크는 버스 속도에 따라 CPU가 RAM에 직접 액세스하는 RAM 속도에 근접 할 수 없습니다.

Windows는 다른 응용 프로그램을 계산하지 않고 약 3-4GB의 유휴 램을 사용합니다. 나는 몇 년 동안 16GB를 운영해 왔으며 실제로는 8GB 이상을 필요로하지 않았습니다. 실제로 평균 PC 사용자는 게임에 4-6GB 이상을 사용하지 않습니다. 영화를 압축하거나 RAM을 많이 사용하는 작업은 일반적으로 멀티미디어와 관련이 있으며 다중 코어 CPU가 8GB 이상이 필요한 유일한 방법 일 때 12GB에 가깝습니다. 그리고 그렇습니다. IMO.

1 일 가동 후 유휴 상태 : 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

2 일 가동 시간 후 유휴 : 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

RAM이 많을수록 더 많은 RAM이 사용됩니다.

여기에 이미지 설명을 입력하십시오

RAM을 사용하여 특정 프로세스를 더 빠르게 만드는 Windows 7의 경우 여기에 예가 있습니다.

여기에 이미지 설명을 입력하십시오

Chkdsk는 캐싱 속도를 높이기 위해 RAM을 최대로 늘리면 성능과 디스크 검사 시간이 빨라지므로 실제로는 더 빠릅니다.


1
윈도우 7? 많은 것들이 있더라도 나는 2G를 거의 넘지 않습니다.
Simon Kuang

RAM이 많을수록 Windows 7이 더 많이 사용할 것입니다. 어떤 프로그램으로 인해 초과 근무 시간이 변동하고 서비스 및 응용 프로그램이 메모리를 릴리스 할 때까지 현재 질문이 계속 변동합니다. 실제 질문과 관련하여. 8GB는 16GB만큼 빠르며 컴퓨터 사용 용도에 따라 다릅니다. 일반적인 상황에서는 게임이나 웹 브라우징과 같은 일반적인 용도의 경우 8GB를 넘지 않아야하며 실제 성능 손실이 없습니다.
MORBiD

2

실제로 대답은 언급 된대로 질문에 "아니오"일 가능성이 높습니다. Q.는 "(사용)이 절대 8GB에 도달하지 않는다"고 말하고 "동일한 유형의 메모리"를 언급하므로 속도 (디스크 버퍼링)에 영향을주는 가장 큰 요소는 영향을받지 않습니다. 일반적인 실제 예는 완전한 하드 디스크를 버퍼링하기에 충분한 메모리가있는 데이터베이스 서버입니다. 예를 들어 4GB 파일 및 2GB 프로세스 / 시스템 할당 메모리는 8GB 이상의 메모리에서 이점을 얻지 못합니다.

예외 :

메모리가 많을수록 최대 절전 모드가 느려질 수 있습니다. 32GB의 메모리와 SSD 디스크를 사용하는 시스템에서는 최대 32GB의 최대 절전 모드를 저장하기 때문에 최대 절전 모드에서 깨우는 것보다 콜드 부팅이 훨씬 빠릅니다. 메모리를 줄이면 시스템 속도가 빨라집니다.

더 많은 하드 디스크에 액세스하고 대부분의 사람들이 버퍼링을 위해 남은 메모리보다 더 많은 디스크 사용량을 가지면 더 빠를 것이므로 추가 메모리가 도움이됩니다. 또한 많은 O / S가 사용량의 일부만 "사용"으로보고하고 나머지는 "사용"이 아닌 버퍼링으로 계산됩니다. (Linux는 버퍼링을 포함하여 독점적으로 사용을보고합니다).

메모리 채널은 성능에 영향을 미칩니다. [메모리를 제거한다는 것이 사용중인 메모리 채널 수를 줄이면 Foon이 올바르게 지적 할 때 시스템 속도가 느려집니다]

데이비드 슈워츠 (David Schwartz)는 메모리를 낮추면 윈도우에서 수정 가능한 개인 메모리 매핑의 한계가 줄어든다고 언급했다. Windows는 분명히 이러한 예약 총계를 총 메모리 + 스왑으로 제한하므로 "사용 가능한 메모리"가보고 된 경우에도이 리소스가 부족할 수 있습니다 (실제 메모리 / 스왑은 페이지에 액세스 할 때까지 할당되지 않기 때문에 그렇지 않습니다) 메모리 사용량으로 계산). Linux는 다르게 동작합니다. 각 프로세스는 총 메모리 및 스왑 크기까지 할당 할 수 있으며 모든 프로세스의 총계는 총 메모리 + 스왑을 초과 할 수 있습니다.


1
당신은 기본적으로 "아니오"가 정답이라고 주장하지만 이유는 말하지 않습니다.
David Schwartz

이것은 받아 들인 대답에 대한 응답으로-직접 의견을 말할 담당자가 없습니다. 혼란을 드려 죄송합니다. 명확히하기 위해 분명하지 않은 경우 하드 디스크 버퍼링을 위해 실제로 읽거나 쓰는 것만 큼 많은 메모리를 사용합니다. 디스크 사용량이 많지 않거나 액세스하지 않으면 추가 메모리가 없습니다. 차이를 만들지 마십시오.
iheggie

1
내가 데이터베이스 서버에 제공 한 예는 여분의 메모리가 거의 차이가없는 예입니다. 사용중인 모든 디스크가 버퍼링됩니다.
iheggie

RAM이 많을수록 더 많은 백업 저장소를 의미하므로 OS가 할당을 허용 할 수 있으므로 거부 할 수 있습니다.
David Schwartz

내 DB 서버의 예에서-사용 가능한 메모리 부족으로 인해 할당을 거부하지 않기 때문에 아무런 차이가 없습니다. 다음과 같은 경우 운영 체제는 어떤 할당을 거부합니까? 메모리에있는 모든 프로세스 b. 전체 디스크가 이미 메모리에 버퍼링되었습니다. c. 여유 메모리가 있었고 d. 다른 한도를 초과하지 않았습니다 (예 : 최대 프로세스 / 버퍼 / 주소 크기 제한)?
iheggie

0

메모리 조각화는 추가 메모리가 필요한 또 다른 이유입니다. 8GB의 RAM이 있고 특히 최신 사용 사례 (브라우저 탭 열기 및 닫기와 같은 많은 메모리 스와핑)에서 80 %를 사용하는 경향이있는 경우 결국 상당한 조각화가 발생합니다.

여분의 8GB RAM을 추가하면 OS가 사용 가능한 메모리 공간을 찾을 가능성이 높아져 성능 저하를 피하기 위해 재부팅 횟수가 줄어 듭니다.


메모리 조각화는 프로세스의 메모리 공간 내에서 발생할 수 있으며 일반적인 현대 시스템에서는 가상이며 일반적으로 시스템에는 적용되지 않습니다. 물리적 메모리는 페이지로 나누어 져 개별 프로세스의 가상 메모리 공간에 개별적으로 매핑되므로 조각화는 무의미한 개념입니다. 내가 무언가를 잘못 이해했다면 저를 시정하십시오.
Thomas Padron-McCarthy

0

아마도, 반드시 그런 것은 아닙니다. 무엇보다도 RAM이 컴퓨터에서 허용하는 것 중 하나는 응용 프로그램이 절대 사용할 수없는 메모리를 할당하도록 허용하는 것입니다. 시스템에 가능한 한 많은 메모리를 소비 할 수있을 정도로 발행 된 모든 할당을 허용 할만큼 충분한 백업 저장소 (RAM 포함)가없는 경우 운영 체제는 해당 할당을 거부하거나 초과 커밋해야합니다. 일부 운영 체제는 초과 커밋을하지 않으며 대부분의 최신 운영 체제는 허용하는 초과 커밋을 제한합니다.

따라서 사용하지 않는 메모리는 RAM이 필요할 수있는 작업이 실패 할 경우 성공할 수 있도록하여 성능을 향상시킬 수 있습니다.


-1

더 많은 램은 컴퓨터 속도를 높이 지 않습니다. 램이 적 으면 컴퓨터가 "느려집니다".

컴퓨터는 물리적 최대 속도 (오버 클로킹 포함)를 가지고 있으며 그보다 더 빠른 속도는 없습니다.


3
Wyzard의 답변에서 볼 수 있듯이 "컴퓨터"전체에는 디스크 액세스가 포함되어 있으며, 더 많은 램이 더 많은 캐싱을 허용하므로 속도가 향상됩니다.
저를 삭제하십시오

컴퓨터에 테라 바이트 급 램을 추가하여 컴퓨터의 물리적 속도 제한을 높일 수 있다는 의미입니까?
Xtro

하드 드라이브 고려하기
저를 삭제하십시오

BTW, 적은 RAM이 항상 컴퓨터 속도를 늦추지는 않습니다. L3 캐시 는 캐시 누락으로 인해 컴퓨터 속도를 여러 번 느리게 했습니다.
저를 삭제하십시오

2
나는 당신의 답이 팽팽한 것을 발견한다. 예, CPU의 '최대 속도 제한'은 CPU의 최대 속도입니다. 좋은 쇼. 그러나 실용적인 관점에서 충분한 RAM 만있는 PC와 비교할 때 RAM이 많은 PC는 약간 더 빠른 성능을 발휘합니다.
Joe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.