2014-11-05 2 views
0

Я хочу написать программу на C++, которая может подчеркнуть систему Windows 7. В своем намерении я хочу, чтобы эта программа приносила использование процессора 100%, используя все установленные барабаны.C++: система стрессовых окон

Я пробовал с большим циклом FOR, который запускал простое умножение на каждом шагу: увеличение использования процессора, но используемый ram-сервер остается низким.

Каков наилучший подход для достижения моей цели ?!

+1

При стрессе памяти, используйте 'VirtualAlloc' API совершить столько как вы можете, будьте осторожны, обязательно коснитесь всех страниц, чтобы все было ОЗУ. –

+0

Вы понимаете, почему ваш код не увеличивает использование памяти? –

+0

Одно ядро ​​никогда не принесет CPU на 100%: вы должны использовать все доступные потоки и интенсивную задачу, которая должна избегать бесполезных операций ввода-вывода или вещей, которые она будет ждать. Вы можете рассмотреть что-то вроде [этого] (https://stackoverflow.com/questions/8389648/how-do-i-achieve-the-theory-maximum-of-4-flops-per-cycle). – edmz

ответ

0

В агностическом способе OS вы можете выделить и заполнить память кучи, полученную с помощью malloc(3) (так что сделайте некоторые вычисления с этой зоной), или на C++ с operator new. Обязательно протестируйте с ошибкой malloc. И постепенно увеличивайте размер вашей зоны.

+0

И когда он _does_ терпит неудачу, уменьшите размер и повторите попытку. Конечно, это только «использует» ОЗУ в теоретическом смысле. Если вы не пишете в эту ОЗУ, это вообще не подчеркивается. – MSalters

+0

Глагол «fill» имел смысл * написать * память malloc-ed –

+1

Извините, ошибочно полагаю, что для намерения выделить физическую RAM (вы связаны с линией man Linux, а Linux классно не выделяет ОЗУ, когда вы просто вызываете malloc). Я имел в виду, что, чтобы подчеркнуть память, вы должны писать ** много **. Не заполняйте его один раз, так как это просто заканчивается обменом. – MSalters

0

Если ваша цель способность подчеркнуть процессор и использование оперативной памяти (и не обязательно писать программу), попробуйте Heavyload, который является бесплатным и делает только, что http://www.jam-software.com/heavyload/

Смежные вопросы