Недостаточная нагрузка на многоядерный процессор
Last updated
Last updated
Данная проблема может остро ощущаться на многоядерных процессорах Xeon Настройка связана со сборщиком мусора Net Framework. Если многоядерный процессор (8 или более ядер) загружается не полностью, попробуйте выставить следующие настройки в программе:
Ядрами управляет не TSLab, а виндоус и CLR .Net Это тонкий момент, который нужно понимать. Все эти настройки "сверху" TSLab. TSLab здесь выступает просто как генератор вычислений. В зависимости от количества ядер и количества процессоров в системе, нагрузку на ядра можно повысить настройками: Для переключения использования сборщика мусора используйте настройку Режим сборщика мусора .NET
В файле TSLabApp.runtimeconfig.json в папке с установленной TSLab C:\Program Files\TSLab\TSLab 2.2 Измените настройки, при выключенной программе, в зависимости от процессора, скорее всего хватит Server: "System.GC.Server": true, - если это сервер или если очень мощная desktop "System.GC.RetainVM": true, - если машина виртуальная дополнительная информация: https://docs.microsoft.com/en-us/dotnet/core/run-time-config/garbage-collector
В случае, если используется двухпроцессорная машина или более: Есть еще настройка не относящаяся к однопроцессорной машине. нужно DOTNET_Thread_UseAllCpuGroups переменную окружения в Windows прописать DOTNET_Thread_UseAllCpuGroups =1 Чтобы настроить среду CLR для распределения потоков из пула потоков по всем группам ЦП. https://docs.microsoft.com/ru-ru/dotnet/core/runtime-config/threading
Некоторая информация:
После настройки необходимо подождать минуту пока кеш заполнится.
"System.GC.HeapHardLimit": 8000000000, ограничение использования оперативной памяти. Этот параметр без необходимости использовать нет смысла. "System.GC.HeapCount": 8 количество КУЧ. Этот параметр имеет смысл ставить, если по умолчанию не удается нагрузить ядра полностью. Параметр должен быть кратен количеству ядер.
Скачать версию TSLab 2.1 можно по ссылке: версия программы TSLab 2.1
1️⃣ Откройте меню Настроек программы (Файл - Настройки программы).
2️⃣ В окне Настройки программы перейдите во вкладку Оптимизация скриптов.
3️⃣ Установите галку напротив опции Включить для многоядерных процессоров. Нажмите на кнопку Применить.
Если выше приведенная настройка не помогла и процессоры не нагружаются.
1️⃣ Поправьте файл конфигурации программы TSLabApp.exe.config Файл находится в папке C:\Program Files\TSLab\TSLab 2.1
2️⃣ После строки <gcServer enabled="true"/> добавьте еще параметры Запись должна быть такой:
1️⃣ В директории с установленным приложением TSLab 2.0 (по умолчанию C:\Program Files (x86)\TSLab 2.0) выберите файл TSLabApp64.exe.config
2️⃣ Скопируйте файл TSLabApp64.exe.config в отдельную директорию, например на Рабочий стол Windiws
3️⃣ Откройте файл TSLabApp64.exe.config в текстовом редакторе (рекомендуем использовать редактор с поддержкой нумерации строк, например Notepad++)
4️⃣ Перейдите на строку №102. Внесите следующие изменения в тексте строки №102:
Исходное значение:
<!-- <gcServer enabled="true"/>-->
Измененное значение:
<gcServer enabled="true"/>
Сохраните изменения
5️⃣ Замените файл TSLabApp64.exe.config в каталоге с установленным приложением TSLab 2.0 (по умолчанию C:\Program Files (x86)\TSLab 2.0) на измененный файл TSLabApp64.exe.config. Запустите программу
6️⃣ При каждом перезапуске программы, вероятно, необходимо будет повторять пункт №5