4GB RAM이 설치되면 프로세서 사용량이 증가합니다.


9

커널 3.2.30 x86_64를 실행하는 4GB RAM이 장착 된 Intel Atom D2700 (Synology NAS DS412 +)이 있습니다. 이 장치에는 단일 DIMM 슬롯이 있습니다.

내가 알아 낸 것 중 하나는 2GB DIMM에 4GB DIMM을 추가 할 때로드시 장치가 CPU 사용량이 상당히 높다는 것입니다 (예 : Minecraft 서버와 같은 '무거운'Java 응용 프로그램 또는 Plex 트랜스 코딩 등) . 많은 사용자들이 2GB로 되돌릴 때 이러한 높은로드 문제가 모두 사라지는 것을 발견했습니다.

이 문제가 발생할 수있는 Linux에만 해당됩니까? 아니면 이것이 Atom 자체의 문제입니까?


사용중인 배포를 추가 할 수 있습니까?
Bernhard

Synology의 빌드.
Trevor Seward

커널이 변경 되었습니까? 우연히 PAE 커널을 사용하고 있습니까?
ffledgling

Synology는 일반적으로 이러한 유형의 릴리스 정보를 제공하지 않습니다. 아니요, 이것은 x86-64 커널입니다.
Trevor Seward

추가로드의 소스로 상단은 무엇입니까? 더 많은 I / O, 더 많은 프로세스 실행? 스와핑이 활성화되어 있습니까? 로드가 많은 프로세스를 오래 실행하면 cat /proc/$PID/status시간이 지남에 따라 출력을 비교할 수 있습니다 .
Hauke ​​Laging

답변:



1

tl; dr

범인은 호환되지 않는 RAM 모듈이라고 생각합니다.


D2000 데이터 시트를 읽었습니다 ( quadruplebucky 에서 제안한 대로 ). AFAIK 데이터 시트는 많은 DIMM 슬롯에 대한 RAM 크기 제한에 대해 언급하지 않습니다. 대신 순위 에 대해 말합니다 ( 메모리 지오메트리 참조 ).

D2000 시스템에서 RAM을 업그레이드하려면 표 3-24에서 지원되는 메모리 구성 을 확인해야합니다 . 4096MB 메모리 크기의 경우 모듈은 다음과 같아야합니다.

  • 이중 순위
  • 2 기가비트 밀도의 16 칩.

동일한 용량의 메모리 모듈은 서로 다른 구성으로 제조되므로 8 개의 4 기가비트 밀도 칩을 사용하여 4GB 단일 랭크 모듈을 얻을 수 있습니다.이 구성은 표에 나열되어 있지 않습니다 . Kingston 의이 글을 참조하십시오 .

즉, 모듈의 정확한 부품 번호 사양이 호환되는지 확인해야합니다. 최근 에 DS713 +에 Patriot PSD34G1333L2S 를 설치 했으며 지금까지 성능이 우수합니다.


0

메모리가 더 많으면 CPU가 더 많은 데이터 / 프로그램을 처리 할 수있게되고 (디스크에서 데이터를 기다리는 시간이 짧게 유휴 상태가 됨) 특히 부하가 높은 경우 CPU 사용량이 증가해야합니다. 처리량이 증가합니까? 아니면 측정하지 않았습니까?


실제로 최고를 넘어서 측정했다고 말할 수는 없지만 (Busybox, 옵션은 다소 제한적이지만) 4GB RAM을 사용할 때 위에서 언급 한 응용 프로그램의 경우 성능이 크게 저하됩니다. 2GB RAM을 사용하면 이러한 문제 중 어느 것도 분명하지 않습니다.
Trevor Seward

독일 위키 백과 기사는 I / O 프로세스가로드의 일부라고 주장합니다. 따라서 더 많은 RAM으로로드가 줄어 듭니다. 이것은로 쉽게 확인할 수 있습니다 for((i=0;i<20;i++)); do dd if=/dev/sda of=/dev/null skip=$((i*100)) bs=1M count=100 & done. 이것을 실행하고 상단을 보라. 스와핑으로 인한 I / O가로드 및 I / O 대기 백분율에 어떤 영향을 미치는지 모르겠습니다. 이 설명에서는 성능 저하가 전혀 의미가 없습니다.
Hauke ​​Laging

0

컴퓨터에 항상 병목 현상이 발생하지 않으면 모든 문제가 제로에 해결됩니다. 메모리 병목을 제거하면 시스템이 디스크에서 대기하지 않아도되므로 CPU 활용도가 향상되었습니다.

이것은 내 애완 동물 증오 중 하나에 영향을 미칩니다. 인기있는 센세이션 블로그를 찾고 웹 사이트를 검토하면 벤치마킹 방법을 모릅니다. 100 % 사용 된 CPU는 낭비되는 CPU가 아닙니다. 완벽한 컴퓨터는 모든 작업 부하에 대해 모든 리소스를 100 % 활용할 수 있지만 그러한 기술과는 거리가 멀습니다. 그러나 나는 산만하다.

물론 운영 체제의 메모리 관리에 문제가 없지만 그 가능성은 훨씬 낮습니다.


3
나는 여기에서 무슨 일이 일어나고 있는지에 대한 큰 오해가 있다고 생각합니다. 응용 프로그램은 4GB와 2GB RAM의 성능이 크게 향상됩니다. 프로세서를 "100 %"로 사용하는 것이 아니라 응용 프로그램이 거의 작동하지 않는 것입니다.
Trevor Seward

페이징 및 컨텍스트 전환 오버 헤드로 인해이 문제가 발생했을 수 있습니다. 해당 응용 프로그램의 처리량이 증가하는지 확인하려면 2GB 및 4GB의 단일 무거운 응용 프로그램을 실행해야합니다. 그렇다면 컨텍스트 전환 때문일 수 있습니다.
ffledgling

3
사용 가능한 추가 실제 메모리로 인해 컨텍스트 전환?
Trevor Seward

내 가설은 추가 메모리가 프로세서가 더 많은 프로세스 / 스레드에서 동시에 작업 할 수 있다는 것을 의미했으며 (디스크 I / O 또는 스왑 공간을 기다릴 필요가 없기 때문에) 더 많은 프로세스 / 스레드는 더 많은 컨텍스트 스위치를 의미합니다. 나는 물론 잘못 될 수있다.
ffledgling

@ TrevorSeward, 질문은 완전히 다른 것을 말합니다.
vonbrand

0

새 RAM이 DDR3-800이고 이전 RAM이 DDR3-1066 일 가능성이 있습니까 (또는 새 RAM의 대기 시간이 더 높습니까?)

워크로드에 많은 캐시 누락이 발생하고 RAM에 자주 충돌하는 경우 느린 RAM이 큰 차이를 만들 수 있습니다.이 벤치 마크는 -1066과 -800 RAM 사이에서 메모리 대역폭의 약 30 % 차이를 보여줍니다.

http://www.tomshardware.com/reviews/core-i7-870-1156,2482-5.html

많은 차이를 보려면 워크로드에 메모리를 많이 사용해야합니다.


교체 용 DIMM은 KVR1333D3S9 / 4G이지만 Atom은 800Mhz에서만 작동합니다.
Trevor Seward

인텔은 D2700 메모리 컨트롤러가 DDR3-800 또는 -1066 RAM (해당 최대 메모리 대역폭 6.4GB / 초 및 8.5GB / 초)에서 작동한다고 밝혔다. 그러나 RAM이 1333이므로 1066으로 다운 클럭해야하므로 내 제안이 무의미합니다.
Johnny

0

나는 아마도 추측하는 것을 결코 경험하지 못했습니다 : 아마도 이것은 Atom이 물리적으로 4G 이상을 처리 할 수없고 (IIRC) PCI 주소 공간과의 충돌로 인해 문제 일 것입니다.

각각의 커널 매개 변수 (mem *)를 살펴보십시오 . 그들은 아마도 우리에게 문제에 대한 좋은 설명을 제공하지는 않지만 (일부 RAM 비용으로) 문제를 해결할 수 있습니다. 따라서 커널이 상위 x MiB를 사용하지 못하게 할 수 있습니다. 문제가 어느 경계에서 사라지는 지 테스트 할 수 있습니다. PCI 장치가 4G 바로 아래에 매핑되는지 확실하지는 않습니다. 그것을 확인하는 것이 합리적이지만 어떻게 해야할지 모르겠습니다 (아마도 ACPI 도구 또는를 통해 cat /sys/devices/pci0000\:00/0000\:00*/resource).


부팅 매개 변수에 액세스하지 않고 어떻게 max mem을 설정할 수 있습니까?
Trevor Seward

0

이 Synology 포럼 스레드를 보셨습니까?

http://forum.synology.com/enu/viewtopic.php?f=140&t=55105&sid=32ffe791c14c1a817869f78ec3d4300a&start=15

직접 /etc/rc.d에서 매개 변수를 변경하면 도움이된다고 말합니다 (설치된 RAM의 양에 따라 vm.min_free_kybtes가 설정되는 위치). 그러나 2GB-> 4GB가 아닌 1GB-> 2GB 업그레이드에 더 적합합니다.

다른 사람들은 4GB가 전혀 작동하지 않는다고 주장하는 반면 한 사람은 KVR1066D3S7 / 4G 모듈 (1066Mhz)이 제대로 작동한다고 주장하지만 1333Mhz 모듈을 가진 다른 사람들에게는 문제가 있다고 주장합니다.

해결책을 제시 할만한 확실한 증거는 많지 않지만 DS412 +에서 4GB의 RAM으로 성능 저하를 볼 수있는 유일한 방법은 아닙니다.


1
그것은 나이며, 결국 min_free_kbytes를 수정해도 도움이되지 않았습니다.
Trevor Seward

그런 다음 1066Mhz 모듈이 작동한다고 말한 사람과 함께 갈 것이지만 1333Mhz 모듈을 가진 사람들은 문제에 대해 불평하고 있습니다. 아마도 Synology의 BIOS가 1333을 제대로 처리하지 못할 수도 있습니다.
Johnny

이것이 인텔의 UEFI 구현입니다.
Trevor Seward

0

필자의 (교육받은) 추측에 따르면 프로세서의 캐시는 2GB 이상의 램을 처리 할 수 ​​없으므로 그보다 많은 용량을 설치하면 캐시가 비활성화되어 성능이 크게 저하됩니다. 또한 쿼드 코어 CPU이므로 단일 스레드 응용 프로그램은 총 CPU의 최대 25 % 만 사용할 수 있으므로 램을 추가 한 후에도 올라가지 않습니다.


좋은 생각입니다. 배포판 내에서 캐시가 비활성화되었는지 확인하는 방법은 무엇입니까?
Trevor Seward
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.