Нагрузка ЦП 100% на запросах

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Добрый день, появилась такая проблема, есть шаблон работает без браузера. При 100 потоках нагрузка на ЦП за 1-2 минуты возрастает до 100%.
Есть ли какие-то способы снизить ее. И в чем может быть дело, почему шаблон на GET запросах так много потребляет.

Что используется в проекте JSON, GET, Regex и работа с текстом
 
Последнее редактирование:

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 617
Благодарностей
1 400
Баллы
113
Добрый день, появилась такая проблема, есть шаблон работает без браузера. При 100 потоках нагрузка на ЦП за 1-2 минуты возрастает до 100%.
Есть ли какие-то способы снизить ее. И в чем может быть дело, почему шаблон на GET запросах так много потребляет.

Что используется в проекте JSON, GET, Regex и работа с текстом
Что бы вам ответили по теме, нужно:

1. Отправлять пример шаблона и как повторить проблему
2. Давать ссылку запроса что бы могли повторить проблему
3. Если выше дать не можете, хотя бы пример шаблона но с другим сайтом, что бы убедится что на всех сайтах у вас такая же проблема
4. Дать характеристики вашего пк\сервера (+версию винды) - и уточнить то ли это виртуалка, то ли выделенный сервер, то ли домашний пк
5. Отправить скрин диспетчера задач и показать что конкретно у вас нагружает ЦП
6. Написать версию зеннопостера и что еще паралельно было запущено

И в таком случае у вас будет шанс что бы вам оперативно ответили
 
  • Спасибо
Реакции: dihard

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
759
Благодарностей
210
Баллы
43
Добрый день, появилась такая проблема, есть шаблон работает без браузера. При 100 потоках нагрузка на ЦП за 1-2 минуты возрастает до 100%.
Есть ли какие-то способы снизить ее. И в чем может быть дело, почему шаблон на GET запросах так много потребляет.

Что используется в проекте JSON, GET, Regex и работа с текстом
Запросы как отправляются ? Встроенный кубик, библа какая на c# или курл ?
 
  • Спасибо
Реакции: dihard

Akcium

Client
Регистрация
16.12.2020
Сообщения
283
Благодарностей
135
Баллы
43

lederer

Client
Регистрация
13.04.2013
Сообщения
203
Благодарностей
91
Баллы
28
Да, Regex действительно может приводить к загрузке ЦП.
Есть 4 возможных пути, на мой взгляд:

1. Если используете 1 файл большого объема - разбейте на несколько маленьких.
2. Заменить регулярку на более простую (уже говорили выше)
3. Если файл маленький используйте стандартные списки в таком режиме, а не берите строки напрямую с файла через метод по типу "FileSystem.FileGetLines"
4. Используйте при работе стандартные списки в таком режиме
 
  • Спасибо
Реакции: dihard

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Запросы как отправляются ? Встроенный кубик, библа какая на c# или курл ?
Запросы отправляются через кубик C# методом HttpGet . Получается через цикл for 20 сайтов по 2 GET запросы на каждый. И в этом же цикле делается regex на каждый GET запрос
 
Последнее редактирование:

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Да, Regex действительно может приводить к загрузке ЦП.
Есть 4 возможных пути, на мой взгляд:

1. Если используете 1 файл большого объема - разбейте на несколько маленьких.
2. Заменить регулярку на более простую (уже говорили выше)
3. Если файл маленький используйте стандартные списки в таком режиме, а не берите строки напрямую с файла через метод по типу "FileSystem.FileGetLines"
4. Используйте при работе стандартные списки в таком режиме
Спасибо за Ваш комментарий, первые 2 пункта понял, а вот 3-4 немного не понял про стандартный списки. Я использую кубик c# и через lock беру строку с удалением. В кубике получается 3-4 строчки. В самом файле очень много строк более 100 тыс
 

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Что бы вам ответили по теме, нужно:

1. Отправлять пример шаблона и как повторить проблему
2. Давать ссылку запроса что бы могли повторить проблему
3. Если выше дать не можете, хотя бы пример шаблона но с другим сайтом, что бы убедится что на всех сайтах у вас такая же проблема
4. Дать характеристики вашего пк\сервера (+версию винды) - и уточнить то ли это виртуалка, то ли выделенный сервер, то ли домашний пк
5. Отправить скрин диспетчера задач и показать что конкретно у вас нагружает ЦП
6. Написать версию зеннопостера и что еще паралельно было запущено

И в таком случае у вас будет шанс что бы вам оперативно ответили
Спасибо за Ваш комментарий, если проблему не удастся решить, буду выполнять Ваши пункты. Если проблему решу отвечу в этой теме, может кому поможет, если тоже столкнется с этим
 

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Для понимания, упрощенная версия логики кубика на c# , это основной код и 90% всего шаблона в нем

C#:
IZennoTable table = project.Tables["tb"]; // Беру таблицу

var jsonData = project.Json[0][1]; // Упрощаю JSON, чтобы на прямую не обращаться к нему

int data = jsonData.Count; //Определяю количество строк

if (data > 0) { //Проверка на ноль

  for (int i = 1; i < data; i++) { //Обход всех строк JSON

    var EData = jsonData[i][14]; // Второе упрощение JSON

    //Блоки обработка текста JSON

    string data1 = EData[5]?.ToString() ?? string.Empty;

    string data2 = EData[9]?.ToString() ?? string.Empty;

    string data3 = EData[3]?.ToString() ?? string.Empty;

    string data4 = EData[6]?.ToString() ?? string.Empty;

    //Последний блок GET запросы на сайты

    string url = EData[2]?.ToString();

    Html = ZennoPoster.HttpGet(url, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);

    string Pattern = @ "[РЕГУЛЯРКА]";

    Match regMatch = Regex.Match(Html, Pattern, RegexOptions.IgnoreCase);

    if (regMatch.Success) {

      PageUrl = regMatch.Groups[1].Value;

      // Если URL относительный, преобразуем его в абсолютный

      if (!PageUrl.StartsWith("http")) {

        Uri baseUri = new Uri(url);

        PageUrl = new Uri(baseUri, PageUrl).ToString();

      }

      //2 GET

      string Html2 = ZennoPoster.HttpGet(PageUrl, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);

      string Pattern2 = @ "[РЕГУЛЯРКА2]";

      MatchCollection reg2Matches = Regex.Matches(Html2, Pattern2);

      HashSet < string > unique = new HashSet < string > ();

      foreach(Match reg2Matche in reg2Matches) {

        unique.Add(reg2Matche.Value); // Добавляем в HashSet

      }

      data5 = string.Join("\n", unique);

    }
 
Последнее редактирование:

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
759
Благодарностей
210
Баллы
43
Для понимания, упрощенная версия логики кубика на c# , это основной код и 90% всего шаблона в нем

C#:
IZennoTable table = project.Tables["tb"]; // Беру таблицу

var jsonData = project.Json[0][1]; // Упрощаю JSON, чтобы на прямую не обращаться к нему

int data = jsonData.Count; //Определяю количество строк

if (data > 0) { //Проверка на ноль

  for (int i = 1; i < data; i++) { //Обход всех строк JSON

    var EData = jsonData[i][14]; // Второе упрощение JSON

    //Блоки обработка текста JSON

    string data1 = EData[5]?.ToString() ?? string.Empty;

    string data2 = EData[9]?.ToString() ?? string.Empty;

    string data3 = EData[3]?.ToString() ?? string.Empty;

    string data4 = EData[6]?.ToString() ?? string.Empty;

    //Последний блок GET запросы на сайты

    string url = EData[2]?.ToString();

    Html = ZennoPoster.HttpGet(url, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);

    string Pattern = @ "[РЕГУЛЯРКА]";

    Match regMatch = Regex.Match(Html, Pattern, RegexOptions.IgnoreCase);

    if (regMatch.Success) {

      PageUrl = regMatch.Groups[1].Value;

      // Если URL относительный, преобразуем его в абсолютный

      if (!PageUrl.StartsWith("http")) {

        Uri baseUri = new Uri(url);

        PageUrl = new Uri(baseUri, PageUrl).ToString();

      }

      //2 GET

      string Html2 = ZennoPoster.HttpGet(PageUrl, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);

      string Pattern2 = @ "[РЕГУЛЯРКА2]";

      MatchCollection reg2Matches = Regex.Matches(Html2, Pattern2);

      HashSet < string > unique = new HashSet < string > ();

      foreach(Match reg2Matche in reg2Matches) {

        unique.Add(reg2Matche.Value); // Добавляем в HashSet

      }

      data5 = string.Join("\n", unique);

    }
А регулярка сложная ?
Json в этом коде откуда берется ? Парсится где и как, насколько жирный ?

Я бы искал методом исключения. Сначала убрал бы запросы и регулярку, проверить для начала json
Потом бы запросы добавил без регулярки. Ну в общем можно и наоборот , это уже как удобнее.
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 617
Благодарностей
1 400
Баллы
113
Для понимания, упрощенная версия логики кубика на c# , это основной код и 90% всего шаблона в нем

C#:
IZennoTable table = project.Tables["tb"]; // Беру таблицу

var jsonData = project.Json[0][1]; // Упрощаю JSON, чтобы на прямую не обращаться к нему

int data = jsonData.Count; //Определяю количество строк

if (data > 0) { //Проверка на ноль

  for (int i = 1; i < data; i++) { //Обход всех строк JSON

    var EData = jsonData[i][14]; // Второе упрощение JSON

    //Блоки обработка текста JSON

    string data1 = EData[5]?.ToString() ?? string.Empty;

    string data2 = EData[9]?.ToString() ?? string.Empty;

    string data3 = EData[3]?.ToString() ?? string.Empty;

    string data4 = EData[6]?.ToString() ?? string.Empty;

    //Последний блок GET запросы на сайты

    string url = EData[2]?.ToString();

    Html = ZennoPoster.HttpGet(url, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);

    string Pattern = @ "[РЕГУЛЯРКА]";

    Match regMatch = Regex.Match(Html, Pattern, RegexOptions.IgnoreCase);

    if (regMatch.Success) {

      PageUrl = regMatch.Groups[1].Value;

      // Если URL относительный, преобразуем его в абсолютный

      if (!PageUrl.StartsWith("http")) {

        Uri baseUri = new Uri(url);

        PageUrl = new Uri(baseUri, PageUrl).ToString();

      }

      //2 GET

      string Html2 = ZennoPoster.HttpGet(PageUrl, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);

      string Pattern2 = @ "[РЕГУЛЯРКА2]";

      MatchCollection reg2Matches = Regex.Matches(Html2, Pattern2);

      HashSet < string > unique = new HashSet < string > ();

      foreach(Match reg2Matche in reg2Matches) {

        unique.Add(reg2Matche.Value); // Добавляем в HashSet

      }

      data5 = string.Join("\n", unique);

    }
Предположение: Вы работаете с таблицей, а таблица может работать паралельно только с одним потоком, поэтому и может зависать так как стоит в очереди в таблицу, еще и на запросах, где скорость исчесляется в секундах, а вы в 100 потоков...

Переведите например на блокнот или .csv как текстовик и будет вам счастье, либо на базу данных mysql.

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

Так же вы точно отключили использование инстанса в боте? Если у вас браузерное окно появляется при старте бота, значит они и кушают ваш цп
 
  • Спасибо
Реакции: dihard

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Предположение: Вы работаете с таблицей, а таблица может работать паралельно только с одним потоком, поэтому и может зависать так как стоит в очереди в таблицу, еще и на запросах, где скорость исчесляется в секундах, а вы в 100 потоков...

Переведите например на блокнот или .csv как текстовик и будет вам счастье, либо на базу данных mysql.

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

Так же вы точно отключили использование инстанса в боте? Если у вас браузерное окно появляется при старте бота, значит они и кушают ваш цп
Спасибо за комментарий, стоит попробывать., я замечал что если 1 поток долльше обрабатывает json, остальные тоже ждут. Стоит попробывать.
Стоит не использывать браузер
 

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
А регулярка сложная ?
Json в этом коде откуда берется ? Парсится где и как, насколько жирный ?

Я бы искал методом исключения. Сначала убрал бы запросы и регулярку, проверить для начала json
Потом бы запросы добавил без регулярки. Ну в общем можно и наоборот , это уже как удобнее.
Я бы не сказал, регулярки простые, json не жирный
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
759
Благодарностей
210
Баллы
43
Спасибо за комментарий, стоит попробывать., я замечал что если 1 поток долльше обрабатывает json, остальные тоже ждут. Стоит попробывать.
Стоит не использывать браузер
У тебя сверхнагрузка на ЦП , а не зависание потоков...
Ну сам подумай, если потоки ожидают друг друга в очереди, нагрузка же должна быть как у одного потока...

Гадать можно до бесконечности, уходя от темы в такие дали, что уххх... Но тебе надо делать отладку... По шагам исключая в коде части логики... Так и выйдешь на проблемную часть. А как выйдешь, уже скидывай сюда что нашел , опять будем репу чесать.
 
  • Спасибо
Реакции: dihard

Vlad_Curnoi

Client
Регистрация
09.08.2017
Сообщения
492
Благодарностей
206
Баллы
43
Для понимания, упрощенная версия логики кубика на c# , это основной код и 90% всего шаблона в нем

C#:
IZennoTable table = project.Tables["tb"]; // Беру таблицу

var jsonData = project.Json[0][1]; // Упрощаю JSON, чтобы на прямую не обращаться к нему

int data = jsonData.Count; //Определяю количество строк

if (data > 0) { //Проверка на ноль

  for (int i = 1; i < data; i++) { //Обход всех строк JSON

    var EData = jsonData[i][14]; // Второе упрощение JSON

    //Блоки обработка текста JSON

    string data1 = EData[5]?.ToString() ?? string.Empty;

    string data2 = EData[9]?.ToString() ?? string.Empty;

    string data3 = EData[3]?.ToString() ?? string.Empty;

    string data4 = EData[6]?.ToString() ?? string.Empty;

    //Последний блок GET запросы на сайты

    string url = EData[2]?.ToString();

    Html = ZennoPoster.HttpGet(url, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);

    string Pattern = @ "[РЕГУЛЯРКА]";

    Match regMatch = Regex.Match(Html, Pattern, RegexOptions.IgnoreCase);

    if (regMatch.Success) {

      PageUrl = regMatch.Groups[1].Value;

      // Если URL относительный, преобразуем его в абсолютный

      if (!PageUrl.StartsWith("http")) {

        Uri baseUri = new Uri(url);

        PageUrl = new Uri(baseUri, PageUrl).ToString();

      }

      //2 GET

      string Html2 = ZennoPoster.HttpGet(PageUrl, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);

      string Pattern2 = @ "[РЕГУЛЯРКА2]";

      MatchCollection reg2Matches = Regex.Matches(Html2, Pattern2);

      HashSet < string > unique = new HashSet < string > ();

      foreach(Match reg2Matche in reg2Matches) {

        unique.Add(reg2Matche.Value); // Добавляем в HashSet

      }

      data5 = string.Join("\n", unique);

    }
юзай leaf.xnet? зенновские запросфы работают через одно место
 

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
У тебя сверхнагрузка на ЦП , а не зависание потоков...
Ну сам подумай, если потоки ожидают друг друга в очереди, нагрузка же должна быть как у одного потока...

Гадать можно до бесконечности, уходя от темы в такие дали, что уххх... Но тебе надо делать отладку... По шагам исключая в коде части логики... Так и выйдешь на проблемную часть. А как выйдешь, уже скидывай сюда что нашел , опять будем репу чесать.
Логично, исключу части кода, выясню какая часть вешает весь проект. С этого начнем
 

lederer

Client
Регистрация
13.04.2013
Сообщения
203
Благодарностей
91
Баллы
28
Спасибо за Ваш комментарий, первые 2 пункта понял, а вот 3-4 немного не понял про стандартный списки. Я использую кубик c# и через lock беру строку с удалением. В кубике получается 3-4 строчки. В самом файле очень много строк более 100 тыс

Что бы детально понять в чем именно дело, можете использовать трассировку, как раз поймете на что тратится время.
Вот здесь автор хорошо описал механизм работы.

Вам нужно нажать на ваш проект в ZennoPoster, пр.кн мыши "Трассировать выполнение".
Запустить проект к примеру в 10 выполнений.
После отработки проекта - скопировать папку "C:\пользователь\пользователь\Documents\ZennoLab\Traces" в папку с "Analizator_Trassirovki.zp"
Запустить "Analizator_Trassirovki.zp"

Тем самым вы получите ID действий, на которые тратится наибольшее количество времен
 
  • Спасибо
Реакции: dihard

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Что бы детально понять в чем именно дело, можете использовать трассировку, как раз поймете на что тратится время.
Вот здесь автор хорошо описал механизм работы.

Вам нужно нажать на ваш проект в ZennoPoster, пр.кн мыши "Трассировать выполнение".
Запустить проект к примеру в 10 выполнений.
После отработки проекта - скопировать папку "C:\пользователь\пользователь\Documents\ZennoLab\Traces" в папку с "Analizator_Trassirovki.zp"
Запустить "Analizator_Trassirovki.zp"

Тем самым вы получите ID действий, на которые тратится наибольшее количество времен
Спасибо
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
759
Благодарностей
210
Баллы
43
Трассировка это хорошо... Но что делать если весь код в одном кубике ? ;-)
 

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
И так методом удаление отдельных частей кода, выяснил, когда нету этого кода ЦП загружается на 35% максимум

C#:
HashSet<string> uniqueData = new HashSet<string>(); // Создаю коллекцию, которая хранит уникальные элементы, чтобы убрать дубли

    // Собираем все найденные данные
    foreach (Match dataMatch in dataMatches) { //dataMatches то что нашла моя регуляка
        uniqueData.Add(dataMatch.Value); // Добавляем найденные данные в HashSet отсеявая повторные данные
    }
//дальше передаю их в свою переменную
Собственно сам вопрос, почему эта часть нагружает все ЦП? Таких частей 2шт, но даже 1 грузит на 100%
Есть предположения только то что количество найденных совпадений слишком велико, отсюда нагрузка

Чем можно заменить, List+Distinct() , Parallel.ForEach? Что менее затратно для ЦП, может есть какой-то другой способ

UPDATE: Попробывал List+Distinct() , Parallel.ForEach нагрузка 100% , убираю этот блок опять и 35% максимум. Что делать то?
UPDATE2: УБрал HashSet и сразу через цикл foreach кладу в свою переменную - нагрузка 100%. То есть дело в цикле foreach или дело и в HashSet тоже., так как в Parallel.ForEach не было цикла foreach , но там тоже нагрузка Есть идеи?
 
Последнее редактирование:

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Ошибочка вышла, когда я убирал блоки, я не посмотрел что приходит с регулярки, там ничего не приходила, заменил код на
C#:
data= string.Join(", ", dataMatches.Cast<Match>().Select(match => match.Value));
Убрав HashSet и цикл. Нагрузка 100% . Вывод результатов приходит видимо очень много и при обработке ЦП загружено.


C#:
// Регулярное выражение для поиска адресов электронной почты
    string emailPattern = @"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}";
    MatchCollection emailMatches = Regex.Matches(combinedHtml, emailPattern);
    HashSet<string> uniqueEmails = new HashSet<string>();
    
    // Собираем все найденные адреса электронной почты
    foreach (Match emailMatch in emailMatches) {
        uniqueEmails.Add(emailMatch.Value); // Добавляем найденные адреса в HashSet
    }

    // Преобразуем уникальные адреса электронной почты в строку
    email = string.Join("\n", uniqueEmails);
Добавлю блок как есть, без редактирование, просто обработка и поиск email, ничего секретного нету. Собственно проблема при обработке регулярно выражения. Если есть идеи, буду благодарен
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
759
Благодарностей
210
Баллы
43
Так а сколько же регулярка находит ? Можно в лог вывести количество...
 

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Так а сколько же регулярка находит ? Можно в лог вывести количество...
Проверил 1 поток, получилось 150, количество будет прыгать , от 0 до собственно бесконечности, так как идет обход разных сайтов, за раз беру 20 штук сайтов. В этот поток получил из 20 сайтов без удаления дублей - 150 штук
 

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Стоит учитывать потоков 100
 

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Если щем только 1 совпадение

C#:
Match emailMatch = Regex.Match(combinedHtml, emailPattern);

        // Проверяем, найдено ли совпадение
        if (emailMatch.Success)
        {
            email = emailMatch.Value; // Возвращаем первое найденное совпадение
        }
Даже так может выдать 100% но не сразу, через минут 5
 
Последнее редактирование:

dihard

Client
Регистрация
08.11.2019
Сообщения
317
Благодарностей
51
Баллы
28
Дамы(если есть) и господа, проблема решена. Решение крылось в зарядке iPhone, я отсоединил ноут от сети и подключил телефон, попробывал прогнать код и к моему удивления загрузка ЦП макс на 30%. Выяснил что когда ноут подключен к сети, включался режим максимальной производительности и он вешал все ЦП.:bk:
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
759
Благодарностей
210
Баллы
43
Дамы(если есть) и господа, проблема решена. Решение крылось в зарядке iPhone, я отсоединил ноут от сети и подключил телефон, попробывал прогнать код и к моему удивления загрузка ЦП макс на 30%. Выяснил что когда ноут подключен к сети, включался режим максимальной производительности и он вешал все ЦП.:bk:
Нежданчик :-)

Вот только один вопрос... А как зенка без сети то работает ?
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 789
Благодарностей
1 181
Баллы
113
Дамы(если есть) и господа, проблема решена. Решение крылось в зарядке iPhone, я отсоединил ноут от сети и подключил телефон, попробывал прогнать код и к моему удивления загрузка ЦП макс на 30%. Выяснил что когда ноут подключен к сети, включался режим максимальной производительности и он вешал все ЦП.:bk:
Винда 10 или 11?
Попробуй поставить сборку винды, где вырезаны все свистелки-перделки, ну и с разделом электропитание поиграйся.
А вообще, ноут не лучшее решение для зенки, проверено не одним вопрошающим тут на форуме - "Почему у меня зенка..."
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)