Загрузить CPU на 80%
Возникла задача, проверить старт JBoss при загруженном CPU. Подскажите — как можно сгенерировать нагрузку на CPU так, чтобы держать её на каком-то уровне? Например не более 80-90% ?
Может у кого есть готовые решения. Стресс тесты пробовал — но они в основном забивают до 100% и не нашёл возможности задать руками предел
Sikamaru
23.01.16 19:25:59 MSK

AITap ★★★★★
( 23.01.16 21:43:27 MSK )

у меня есть довольно топорное и велосипедное решение — ставишь виртуалбокс, создаешь виртуалку выделяешь ей все ядра и выставляешь предел нагрузки ЦПУ в 90%. Запускаешь в виртуалке стресс тест.
man_of_motley ★★
( 23.01.16 22:38:48 MSK )

Для начала нужно осознать, что такое «нагрузка».
Как %cpu обозреватели процессов обычно показывают долю использованного процессорного времени за отрезок реального времени между обновлениями статуса менеджера (у atop, например, по-умолчанию — 10 секунд). Т.е. для каждого процесса всегда можно найти такой отрезок реального времени, на котором он потреблял 100% процессорного времени, а если этот отрезок немножко растянуть — 100% отлично превращаются в 90% и 80%.
slowpony ★★★★
( 24.01.16 06:29:22 MSK )

Я хочу сказать, что %cpu — это метрика-фикция и в твоем случае лучше поиграть с nice/ionice. Но если очень хочется шашечки, а не ехать, то при длине семпла в 10 секунд ты можешь получить 80% если будешь запускать stress на 8 секунд 🙂 каждые 10 секунд, что-то вроде:
while :; do stress -t 8; sleep 2; done
slowpony ★★★★
( 24.01.16 06:35:51 MSK )
Ответ на: комментарий от slowpony 24.01.16 06:35:51 MSK

Всетаки ему нужно проверить старт программы в условиях загруженности компьютера, для этого не так нужна хирургическая точность
man_of_motley ★★
( 24.01.16 10:34:23 MSK )
Ответ на: комментарий от man_of_motley 24.01.16 10:34:23 MSK
90% загрузка от sse/simd может привести к троттлингу при говёном охлажении, хотя при тех же 90% от обычного софта проц будет холодный и разгонится турбобустом
Как нагрузить процессор и видеокарту на 100% в играх
Но есть проблема в играх у меня видеокарта нагружена на 80-90 процентов
А процессор 40-50 процентов
Как мне и процессор нагрузить на 80-80?
Голосование за лучший ответ
зачем?
Запусти стрестест в AIDA и иди играй ахахахха
Зелем ЭсмурзиевУченик (74) 3 года назад
))) ну всмысле чтоб игра больше ресурсов получала и не лагала
. . Мыслитель (8448) Зелем Эсмурзиев, игра получает столько сколько ей надо, она не будет лагать только если ты купишь железо получше
минимальные настройки графики поставь
Уменьшай разрешение в настройках игры до минимального
Уменьшай настройки графики до минимальных
Отключи вертикальную синхронизацию в настройках игры, либо драйвера если включено, короч, любые ограничители кадров.
Вот и будет загрузка процессора по максимуму в конкретной игре.
Я тупо тащусь. =)
Все здравомыслящие люди делают наоборот, разгружают, а ты пытаешься загрузить телегу по максимуму, чтобы ишак быстрее бежал? Обалденная логика (ржу).
Знаешь что. Лучше купи ишака поздоровее (мощнее), чтобы он смог тянуть телегу шустрее. Под ишаком я имею ввиду видеокарту.
Как нагрузить процессор на 50 процентов
Для тестирования эмулятора железки надо. причем желательно чтоб нагрузка как-то менялась по ходу времени.
Re: как нагрузить cpu на нужное число процентов?
| От: | MicVit |
| Дата: | 20.10.04 10:08 |
| Оценка: |
Здравствуйте, Antikrot, Вы писали:
A>Для тестирования эмулятора железки надо. причем желательно чтоб нагрузка как-то менялась по ходу времени.
Можно попробовать заделать цикл, внутри которого будет стоять Sleep с регулируемым нужным образом параметром.
Sleep
The Sleep function suspends the execution of the current thread for the specified interval.
To enter an alertable wait state, use the SleepEx function.
VOID Sleep(
DWORD dwMilliseconds // sleep time
);
Parameters
dwMilliseconds
[in] Specifies the time, in milliseconds, for which to suspend execution. A value of zero causes the thread to relinquish the remainder of its time slice to any other thread of equal priority that is ready to run. If there are no other threads of equal priority ready to run, the function returns immediately, and the thread continues execution. A value of INFINITE causes an infinite delay.
Return Values
This function does not return a value.
Re: как нагрузить cpu на нужное число процентов?
| От: | black hermit |
| Дата: | 20.10.04 10:10 |
| Оценка: |
Здравствуйте, Antikrot, Вы писали:
A>Для тестирования эмулятора железки надо. причем желательно чтоб нагрузка как-то менялась по ходу времени.
Пишешь цикл. в нем вызываешь свою функцию возвращающюю процент загрузки процессора, там же ставишь Sleep и изменяемым интервалом. Если загрузка упала, интервал уменьшаем, если поднялась увеличиваем на какое нибудь дискретное или вычисляемое значение. Ну можно в цикл еще и вычислений каких нибудь напихать для болшей загружаемости.
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun.
Re[2]: как нагрузить cpu на нужное число процентов?
| От: | Antikrot |
| Дата: | 20.10.04 13:39 |
| Оценка: |
Здравствуйте, black hermit, Вы писали:
BH>Пишешь цикл. в нем вызываешь свою функцию возвращающюю процент загрузки процессора, там же ставишь Sleep и изменяемым интервалом.
Не помогает
while(1)
вообще не грузит процессор. даже если я вычислений туда впихну, все равно
меньше единицы поставить в Sleep нельзя, а у меня за миллисекунду много чего произойти может (то есть провал нагрузки даже на 1 msec аффектит задачу).
Re[3]: как нагрузить cpu на нужное число процентов?
| От: | black hermit |
| Дата: | 20.10.04 14:02 |
| Оценка: |
Здравствуйте, Antikrot, Вы писали:
A>Здравствуйте, black hermit, Вы писали:
BH>>Пишешь цикл. в нем вызываешь свою функцию возвращающюю процент загрузки процессора, там же ставишь Sleep и изменяемым интервалом.
A>Не помогает
A>while(1)
A>вообще не грузит процессор. даже если я вычислений туда впихну, все равно
A>меньше единицы поставить в Sleep нельзя, а у меня за миллисекунду много чего произойти может (то есть провал нагрузки даже на 1 msec аффектит задачу).
А ты используй Sleep внутри условия по процентам. И добавь вычисления, именно они должны нагрузить процессор. Впрочем и пустой цикл будет неплохо грузить.
while(1) < if(SPUussage
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun.
Re[3]: как нагрузить cpu на нужное число процентов?
| От: | MicVit |
| Дата: | 20.10.04 14:08 |
| Оценка: |
Здравствуйте, Antikrot, Вы писали:
A>Здравствуйте, black hermit, Вы писали:
BH>>Пишешь цикл. в нем вызываешь свою функцию возвращающюю процент загрузки процессора, там же ставишь Sleep и изменяемым интервалом.
A>Не помогает
A>while(1)
A>вообще не грузит процессор. даже если я вычислений туда впихну, все равно
A>меньше единицы поставить в Sleep нельзя, а у меня за миллисекунду много чего произойти может (то есть провал нагрузки даже на 1 msec аффектит задачу).
int c = 10000000; // параметр int i=0; while(1)< i++; if (i == c) < Sleep(1); i = 0; >>
Re: как нагрузить cpu на нужное число процентов?
| От: | VladFein | www.FeinSoftware.com |
| Дата: | 20.10.04 18:02 | |
| Оценка: |
Здравствуйте, Antikrot, Вы писали:
A>Для тестирования эмулятора железки надо. причем желательно чтоб нагрузка как-то менялась по ходу времени
Во-первых, забудьте про предлагаемый здесь (выше) Sleep().
Sleep() НЕ загружает CPU, он просто уступает очередь следующему потоку.
В общем случае, для потоков с одинаковым приоритетом время распределяется поровну.
Создайте несколько потоков с плотным непрерывным циклом.
Если у Вас в эмуляторе один поток, добавив один такой «загрузчик» вы сэмулируете 50% нагрузки,
2 — 66%
3 — 75%
и т.д.
Re: как нагрузить cpu на нужное число процентов?
| От: | Sir Wiz |
| Дата: | 21.10.04 05:42 |
| Оценка: |
Здравствуйте, Antikrot, Вы писали:
A>Для тестирования эмулятора железки надо. причем желательно чтоб нагрузка как-то менялась по ходу времени.
Меня это заинтересовало, я написал. Грузит проц ровно на 50%.
Абсолютно бесполезная вешь.
Если интересно, могу привести код.
Re[2]: как нагрузить cpu на нужное число процентов?
| От: | Antikrot |
| Дата: | 21.10.04 09:29 |
| Оценка: |
Здравствуйте, Sir Wiz, Вы писали:
SW>Меня это заинтересовало, я написал. Грузит проц ровно на 50%.
SW>Абсолютно бесполезная вешь.
SW>Если интересно, могу привести код.
Приведи, пожалуйста. Заранее спасибо.
Re[3]: как нагрузить cpu на нужное число процентов?
| От: | Sir Wiz | |
| Дата: | 21.10.04 09:52 | |
| Оценка: | 8 (3) | |
Здравствуйте, Antikrot, Вы писали:
A>Приведи, пожалуйста. Заранее спасибо.
Приношу извинения за некоторую непричёсанность и сумбурность кода
// CPU 50% usage emulator. // by Nickolay K. Ganichev aka Sir Wiz #include #include "windows.h" const int sleep_start = 100; const int sleep_inc = 1; const int iterations_start = 2500000; const int iterations_inc = 200000; const int iterations_max = 100000000; const int cpu_usage_const = 50; typedef unsigned (__stdcall * pfNtQuerySystemInformation) ( int SystemInformationClass, void * SystemInformation, unsigned SystemInformationLength, unsigned * ReturnLength ); pfNtQuerySystemInformation NtQuerySystemInformation; unsigned ntGetCPUUsage(); int main(int argc, char* argv[]) < HMODULE ntlib = LoadLibrary("ntdll.dll"); if (!ntlib) < std::cout FARPROC proc = GetProcAddress(ntlib, "NtQuerySystemInformation"); if (!proc) < std::cout NtQuerySystemInformation = reinterpret_cast(proc); int sleep_time = sleep_start; int iterations = iterations_start; while (666) < unsigned int cpu_usage = ntGetCPUUsage(); if (cpu_usage >100) break; if (cpu_usage > cpu_usage_const) < sleep_time += sleep_inc; iterations -= iterations_inc; if (iterations < 0) iterations = 0; >if (cpu_usage < cpu_usage_const) < sleep_time -= sleep_inc; iterations += iterations_inc; if (iterations >iterations_max) iterations = iterations_max; > if (sleep_time < 0) sleep_time++; std::cout > FreeLibrary(ntlib); return 0; > /////////////////////////////////////////////////////////// // This function calculates CPU usage in percents // // Returns // CPU usage in percents if OK // or > 100% if error // Remarks: First time it is called it returns mean usage // during Windows session // Next time it returns percent relative previous call // // by __________________________________ (Fill if you know) /////////////////////////////////////////////////////////// struct SYSTEM_PROCESSOR_TIMES < __int64 IdleTime; __int64 KernelTime; __int64 UserTime; __int64 DpcTime; __int64 InterruptTime; unsigned InterruptCount; >; unsigned ntGetCPUUsage() < static __int64 s_IdleTime = 0; static __int64 s_TotTime = 0; static unsigned s_Percent = 0; SYSTEM_PROCESSOR_TIMES SysTime; NtQuerySystemInformation(8, &SysTime, sizeof(SysTime), NULL); < // Summ all times __int64 TotTime = SysTime.DpcTime + SysTime.InterruptTime + SysTime.KernelTime + SysTime.UserTime; // Calculate difference __int64 dT = TotTime - s_TotTime; // Check exotic case if ( dT != 0 ) < __int64 Idle = SysTime.IdleTime - s_IdleTime; s_Percent = unsigned((100 * (dT - Idle) + dT/2) / dT); // Save current values s_IdleTime = SysTime.IdleTime; s_TotTime = TotTime; >return s_Percent; > return ~0UL; >
Re[4]: как нагрузить cpu на нужное число процентов?
| От: | Antikrot |
| Дата: | 21.10.04 11:30 |
| Оценка: |
Нагрузка на ЦП
Бесплатно перенесём баланс от старого провайдера. подарим
скидку 300 рублей на первый платёж. —> Просто оставьте номер телефона.
Наш оператор позвонит Вам.
Но мы же.
предложили скидку.

Спасибо! Ваша заявка отправлена.
Заявка принята
Наш сотрудник позвонит Вам
через 3 минуты.
+7 8652 99-02-02 Быстрая оплата
Нагрузка на ЦП
Нагрузка на ЦП
Достаточно частой проблемой медленной загрузки видео и страниц является загруженность центрального процессора вашего компьютера. Данная проблема вaозникает в следующих случаях:
— На компьютере может быть вирус, который нарочно нагружает процессор
— Может быть запущено приложение которое нагружает компьютер
— и последняя причина — просто устаревший компьютер который не может работать с достаточной скоростью обеспечивая плавность в работе.
Как же можно проверить в чём причина?
Проверить достаточно просто, для начала вам требуется закрыть все открытые приложения и нажать сочетание горячих клавиш Ctrl+Alt+Del (если у вас Windows 7 или 8, то после нажатия данных клавиш нужно выбрать пункт Диспетчер задач). У вас должно открыться вот такое окно:

В данном окне имеются закладки, нам нужны всего несколько:
Приложения — в данной закладке отображаются все запущенные приложения (программы)
Процессы — это очень нужная закладка в которой находится весь список запущенных приложений и служб, здесь нам нужно удостовериться что ни одно приложение не нагружает процессор, если у вас загрузка процессора равна или приближена нулю как на изображении ниже, то всё хорошо:

Если же есть приложение которое постоянно загружает процессор более чем на 50%, то это может быть свидетельством наличия вируса или же слабого процессора.
Быстродействие — Данная кладка поможет нам определить, как сильно нагружается процессор при использовании интернета и просмотра видео:

В этой вкладке имеются следующие разделы:
Загрузка ЦП — здесь отображается самая важная информация, благодаря которой мы и сможет определить проблему, об этом будет написано далее.
Память — так же важный показатель который показывает насколько загружена оперативная память.
И так, для того что бы проверить в чём проблема, откройте вкладку «Быстродействие», а затем откройте браузер и попробуйте запустить какое либо видео (на весь экран), протестировать скорость интернета на сайте speedtest.net
После чего откройте «Диспетчер задач» и посмотрите как изменялся график нагрузки ЦП. Если ломаная кривая постоянно поднимается выше 80-90%, то это говорит о сильной нагрузки на процессор, при такой нагрузке у абонентов наблюдается медленная загрузка страниц, видео, зависания и другие проблемы.
Что делать в такой ситуации?
Большая нагрузка наблюдается в следующих случаях:
На компьютере присутствует вирус — в таком случае нужно запустить проверку компьютера на вирусы.
Перегрев процессора — чаще всего встречается у владельцев ноутбуков, если ваш ноутбук постоянно жужжит, то это свидетельствует о постоянно включенном охлаждении которое не справляется со своими задачами. В таком случае требуется обратиться в компьютерную помощь для дальнейшей диагностики проблемы.
Устаревший процессор — если ваш компьютер достаточно старый, то вполне возможно что он уже не может справиться с той нагрузкой которую вы возлагаете на него.