Использование процессора увеличивается с 4 ГБ ОЗУ

9

У меня Intel Atom D2700 (Synology NAS DS412 +) с 4 ГБ ОЗУ под управлением ядра 3.2.30 x86_64. Это устройство имеет один слот DIMM.

Одна вещь, которую я и другие обнаружили, заключается в том, что при добавлении DIMM 4 ГБ по сравнению с DIMM 2 ГБ устройство испытывает значительно более высокую загрузку ЦП при нагрузке (например, «тяжелые» приложения Java, такие как серверы Minecraft или транскодирование Plex и т. Д.) , Многие пользователи обнаружили, что при снижении до 2 ГБ все эти проблемы с высокой нагрузкой исчезают.

Это что-то специфическое для Linux, которое может вызвать это? Или это проблема самого атома?

Тревор Сьюард
источник
Может быть, вы можете добавить, какой дистрибутив вы используете?
Бернхард
Синология сборки.
Тревор Сьюард
Были ли какие-либо изменения в ядре? Вы случайно не используете ядро ​​PAE?
неопытный
Обычно Synology не предоставляет такие типы заметок о выпуске. Нет, это ядро ​​x86-64.
Тревор Сьюард
Что показывает top в качестве источника дополнительной нагрузки? Больше ввода / вывода, больше запущенных процессов? Включен ли обмен? Если у вас есть длительные процессы с высокой (er) нагрузкой, то вы можете сравнить выходные данные с cat /proc/$PID/statusтечением времени.
Хауке Лагинг

Ответы:

7

Взгляните на процессоры Intel Atom® серии D2000 и N2000, вып. 1 .

Обратите внимание на страницы 32-33 и таблицу 3-24.

Вывод заключается в том, что, хотя ваш процессор и контроллер памяти поддерживают 4 ГБ общей оперативной памяти, они поддерживают его только порциями по 2 ГБ, по 2 ГБ на слот. Поскольку у вашего 412+ только один слот, максимальная оперативная память составляет 2 ГБ. Все, что выше этого, вероятно, будет непредсказуемым.

quadruplebucky
источник
1

ТЛ; др

Я думаю, что виновником является несовместимый модуль оперативной памяти.


Я прочитал таблицу данных D2000 (как предложено quadruplebucky). AFAIK, таблица данных ничего не говорит об ограничении размера оперативной памяти в зависимости от количества слотов DIMM. Вместо этого он говорит о рангах (см. Геометрию памяти ).

Любой, кто хочет обновить ОЗУ в системе D2000, должен проверить таблицу 3-24 на предмет поддерживаемых конфигураций памяти . Для объема памяти 4096 МБ модуль должен быть:

  • двойной рейтинг,
  • с 16 чипами 2 гигабитной плотности.

Модули памяти одинаковой емкости производятся в разных конфигурациях, так что можно получить, например, модуль одного ранга 4 ГБ, используя восемь чипов с плотностью четыре гигабита, конфигурация которых не указана в таблице - см. Этот светящийся пост от Kingston .

Тем не менее, вы должны проверить спецификации для точного номера детали вашего модуля, чтобы убедиться, что он совместим. Я недавно установил Patriot PSD34G1333L2S в DS713 +, и пока он работает хорошо.

Мистер тао
источник
0

Если памяти больше, у ЦП будет больше данных / программ для работы (он будет простаивать, ожидая данных с диска меньше времени), поэтому загрузка ЦП должна возрасти, особенно при высокой нагрузке. Увеличивается ли пропускная способность? Или ты не измерил это?

vonbrand
источник
Не могу сказать, что я действительно измерил его выше предела (Busybox, поэтому возможности несколько ограничены), но производительность при использовании 4 ГБ ОЗУ значительно снижается для вышеупомянутых приложений, некоторые до такой степени, что они непригодны для использования. С 2 ГБ оперативной памяти ни одна из этих проблем не очевидна.
Тревор Сьюард
Немецкая статья в Википедии утверждает, что процессы ввода-вывода являются частью нагрузки. Таким образом, нагрузка должна уменьшиться с увеличением оперативной памяти. Это легко проверить for((i=0;i<20;i++)); do dd if=/dev/sda of=/dev/null skip=$((i*100)) bs=1M count=100 & done. Запустите это и посмотрите сверху. Однако я не знаю, как ввод-вывод из-за перестановки влияет на загрузку и процент ожидания ввода-вывода. Это снижение производительности не имеет никакого смысла с этим объяснением.
Хауке Лагинг
0

У компьютера ВСЕГДА есть узкое место, иначе все проблемы были бы решены в ноль времени. Когда вы удалили горлышко бутылки с памятью, система перестала ждать на диске, и процессор стал лучше использоваться.

Это затрагивает одну из моих ненавистей к домашним животным: популярные, ищущие сенсацию блоги и обзорные веб-сайты не знают, как сравнивать. Процессор, используемый на 100%, не является потерянным процессором. Идеальный компьютер сможет использовать все ресурсы на все 100% для всех нагрузок, но мы очень далеки от такого рода технологий. Но я отвлекся.

Если, конечно, есть проблема с управлением памятью в вашей операционной системе, но это гораздо менее вероятно.

Johan
источник
3
Я думаю, что есть большое недопонимание того, что здесь происходит. Приложения испытывают значительный удар по производительности с 4 ГБ против 2 ГБ оперативной памяти. Дело не в том, что процессор используется «на 100%», а в том, что приложения практически не работают.
Тревор Сьюард
Может быть, это связано с накладными расходами на пейджинг и переключение контекста? Вам следует попробовать запустить одно тяжелое приложение с 2 ГБ и 4 ГБ, чтобы увидеть, увеличивается ли пропускная способность для этого приложения. Если это так, то это может быть из-за переключения контекста.
якобы
3
Переключение контекста из-за дополнительной доступной физической памяти?
Тревор Сьюард
Моя гипотеза состояла в том, что дополнительная память означала, что процессор теперь мог работать с большим количеством процессов / потоков одновременно (потому что ему не нужно было бы ждать дискового ввода-вывода или пространства подкачки), и поэтому больше процессов / потоков означало бы больше переключений контекста. Я могу быть очень неправ, конечно.
неопытный
@TrevorSeward, вопрос говорит о чем-то совершенно ином.
vonbrand
0

Есть ли вероятность, что ваша новая оперативная память является DDR3-800, а старая - DDR3-1066 (или что новая оперативная память имеет большую задержку?

Если ваша рабочая нагрузка часто пропускает кэш и часто обращается к ОЗУ, более медленная ОЗУ может иметь существенное значение - этот тест показывает примерно 30% -ную разницу в пропускной способности памяти между -1066 и -800 ОЗУ:

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

Ваша рабочая нагрузка должна быть достаточно интенсивной, чтобы увидеть большую разницу.

Джонни
источник
Заменяющий модуль DIMM - KVR1333D3S9 / 4G, однако Atom будет работать только на частоте 800 МГц.
Тревор Сьюард
Intel говорит, что контроллер памяти D2700 будет работать с оперативной памятью DDR3-800 или -1066 (с максимальной пропускной способностью 6,4 ГБ / с и 8,5 ГБ / с). Но, поскольку у вас 1333 ОЗУ, его следует разогнать до 1066, так что мое предложение не соответствует действительности.
Джонни
0

Я никогда не испытывал этого, поэтому просто гадал: возможно, это проблема из-за того, что Atom не может физически адресовать более 4G (IIRC), а также из-за некоторой коллизии с адресным пространством PCI.

Посмотрите на соответствующие параметры ядра (mem *) . Вероятно, они не дадут нам хорошего объяснения проблемы, но могут решить ее (за счет некоторой оперативной памяти). Таким образом, вы можете запретить ядру использовать верхний x MiB. Вы можете проверить, на какой границе проблема исчезает. Вероятно, но не уверен, что устройства PCI отображаются непосредственно под 4G. Имеет смысл проверить это, но я не знаю, как это сделать (возможно, с помощью какого-либо инструмента ACPI или cat /sys/devices/pci0000\:00/0000\:00*/resource).

Хауке Лагинг
источник
Как установить max mem без доступа к параметрам загрузки?
Тревор Сьюард
0

Вы видели эту ветку форума Synology:

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

Человек говорит, что изменение параметра в /etc/rc.d помогает (именно здесь vm.min_free_kybtes устанавливается в зависимости от объема установленной оперативной памяти). Но это больше для обновления 1 ГБ -> 2 ГБ, а не 2 ГБ -> 4 ГБ.

Другие утверждают, что 4 ГБ вообще не будут работать, в то время как один парень утверждает, что модуль KVR1066D3S7 / 4G (который составляет 1066 МГц) работает нормально, в то время как другие с модулями 1333 МГц, подобными вашим, видят проблемы.

Кажется, что нет серьезных доказательств, указывающих на решение, но вы не единственный, кто видит снижение производительности с 4 ГБ ОЗУ в этом DS412 +.

Джонни
источник
1
Это я, и никакая в итоге модификация min_free_kbytes не помогла.
Тревор Сьюард
Тогда я бы пошел с парнем, который сказал, что модуль 1066 МГц работает, но люди с модулями 1333 МГц жалуются на проблемы - может быть, BIOS Synology действительно плохо справляется с 1333.
Джонни
Это будет реализация Intel UEFI.
Тревор Сьюард
0

Мое (образованное) предположение состоит в том, что кэш вашего процессора не может обрабатывать более 2 ГБ оперативной памяти, поэтому при установке более этого объема кэш отключается, что приводит к значительному снижению производительности. Это также четырехъядерный процессор, поэтому однопоточное приложение может использовать не более 25% от общего числа процессоров, поэтому оно не увеличивается после добавления оперативной памяти.

psusi
источник
Это хорошая мысль. Есть ли способ узнать, был ли кеш отключен из дистрибутива?
Тревор Сьюард