Как исправить количество процессоров, используемых MemSQL?

Я запускаю MemSQL (1 agg и 5 конечных узлов) на одном компьютере с 2 ТБ ОЗУ.

Однако это общая система, и в ней выполняются другие процессы. Когда я развертываю кластер и запускаю несколько запросов, загрузка ЦП становится очень высокой и выглядит так, как будто он использует все ядра. Есть ли способ предотвратить это, указав количество используемых ядер?

Я проверил документы и обнаружил параметр maximum_memory, который по умолчанию установлен на 90% памяти хоста. Это тот параметр, который нужно изменить?


person trips    schedule 03.11.2015    source источник
comment
Я изменил его на 10% с 90%, и загрузка процессора значительно снизилась. Таким образом, количество ядер определяется объемом выделенной ему памяти.   -  person trips    schedule 03.11.2015


Ответы (1)


Нет опции конфигурации MemSQL для ограничения количества ядер. Снижение загрузки процессора, которое вы наблюдали при уменьшении maximum_memory, указывает на то, что система в целом использует меньше машинных ресурсов (вы уменьшили доступную для системы память на 80%).

Если вы хотите ограничить количество процессоров, используемых MemSQL, используйте набор задач.

person eklhad    schedule 03.11.2015
comment
на самом деле уменьшение памяти уменьшило загрузку ЦП, но во время загрузки данных из искры она снова взлетела. поэтому уменьшение max_memory не сильно помогает. - person trips; 03.11.2015
comment
Я использовал набор задач и назначил каждому процессу memsqld по 2 ядра. как taskset -cp 0,1 <process_id_of_memsqld> Но, похоже, это не работает. По запросу он использует все ядра со 100% загрузкой. - person trips; 04.11.2015
comment
taskset команда была выполнена неправильно. теперь это работает, это команда, которую я пробовал taskset -p -c <cpu_number> <pid> - person trips; 04.11.2015