RAM의 사용 된 용량이 데이터 검색 속도에 영향을 줍니까?RAM의 사용 된 용량은 데이터 검색 속도에 영향을 줍니까?
기본적으로 RAM이 많을수록 데이터 검색 속도가 느려 집니까? 아니면 L 캐시가 너무 빨라 졌기 때문에 중요하지 않습니까?
RAM의 사용 된 용량이 데이터 검색 속도에 영향을 줍니까?RAM의 사용 된 용량은 데이터 검색 속도에 영향을 줍니까?
기본적으로 RAM이 많을수록 데이터 검색 속도가 느려 집니까? 아니면 L 캐시가 너무 빨라 졌기 때문에 중요하지 않습니까?
"왜 신경 쓰시겠습니까?" 그리고 "당신은 그것에 대해 무엇을 할 것입니까?" 이 질문에 대한 합리적인 답변입니다 ...하지만 어쨌든 대답 할 수 있는지 보도록하겠습니다.
의견에서 알 수 있듯이 일반적으로 메모리의 액세스 속도는 "전체"메모리의 사용 속도에 달려 있지 않습니다.
하드 드라이브의 경우와 마찬가지로 메모리 자체에 사용 여부를 알 수 없으므로 단점이 있습니다. 그러나 가상 메모리는 단편화 된 메모리를 인접한 것으로 제시하여 CPU 및 아마도 CPU가 사용할 수있는 선처리 기계의 조각화를 숨 깁니다. 따라서 일반적으로 메모리 조각화는 성능과 관련이 없습니다.
즉, 조각난 실제 메모리가 성능에 해를 끼칠 수있는 하나 이상의 O/S (즉, Linux)에 메커니즘이 있습니다. "투명한 거대한 페이지"는 TLB 항목의 수를 줄이고 따라서 TLB 누락의 수를 줄이기 위해 대형 (또는 음, 거대한) 페이지를 사용하는 대용량 메모리 작업 부하에 대한 최적화입니다. 이 최적화는 그러한 작업 부하에서 성능을 2 % 이상 향상시킬 수 있습니다. 그러나 투명한 거대한 페이지 기계는 커다란 (2 메가 바이트) 정렬되고 인접한 물리적 RAM이 할당을 위해 무료 인 경우에만 시작될 수 있습니다. 심하게 파편화 된 물리적 RAM은이를 방지합니다.
캐시의 용량이 제한되어있어 훨씬 간단한 문제를 간과하고있는 것처럼 보입니다. "활성"데이터가 많이 저장 될수록 캐시 누락으로 인해 작업이 느려질 가능성이 커집니다. –
@ChrisStratton : 액세스 패턴의 지역성에 전적으로 달려 있으며, 사용 패턴은 반드시 사용중인 메모리의 양과 상관 관계가 없습니다. 캐시에서 전체적으로 또는 전체적으로 맞는 작업 세트에 대해 이야기하지 않는 한, 내가 간과 한 바를 인정합니다. 저는 기가 바이트 단위의 메모리와 수백 기가 바이트 단위의 파일을 다루는 데 익숙합니다. 따라서 캐시 규모에서의 메모리 발자국은 자연스럽게 나에게 발생하지 않습니다 :-) – Nemo
사용되거나 사용되지 않은 숫양 같은 것이 없습니다. 램의 모든 비트에는 항상 값이 있습니다. RAM의 관점에서 볼 때 한 주소 나 다른 주소에 무작위로 액세스하는 성능에는 차이가 없습니다.
운영체제가없는 임베디드 시스템이나 메모리를 지배하거나 실행하는 작업이 하나만있는 경우가 아니라면 캐시로 수행 할 수있는 작업, 성능을 예측하거나 조정할 수있는 작업은 많지 않습니다. 소위 사용되지 않은 메모리 사용 된 메모리에 액세스하거나 메모리를 선형으로 따라 다니는 것 이상으로 다 치지는 않습니다. 캐시를 사용하면 가장 큰 고통은 스트라이핑이며, 캐시를 무력화시키고 그 중 일부만 효과적으로 사용할 수 있습니다.
저장 용량에 따라 RAM 및 하드 드라이브의 읽기 속도가 느려지지 않습니다 (SSD를 사용하면 기록시 성능이 저하되지만 읽기는 저하 될 수 있음). 하드 드라이브가 어디에서 나왔는지 아이디어를 얻었습니까? –
RAM (및 표준 하드 디스크)은 "사용"인지 여부를 알지 못합니다. 유효한 데이터 바이트 및 "가비지"바이트는 RAM과 동일하게 보입니다. –
@DarkFalcon - 그건 사실이 아닙니다. 단편화는 액세스가 헤드의 물리적 이동을 수반하는 경우 저장 매체를 느리게하는 경향이 있습니다. 그러나 대부분의 시스템은 메모리 관리 장치가 분산 된 물리적 페이지를 인접한 논리적 청크로 매핑 할 수있는 액세스의 "관성"이 거의 없기 때문에 RAM으로 인해 이러한 문제를 겪지 않습니다. –