100% процессора

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
JIeT4uK
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 23.03.2003 (Вс) 4:48
Откуда: Украина, Донецк

100% процессора

Сообщение JIeT4uK » 27.11.2014 (Чт) 21:19

Подскажите как нагрузить процессор. Куску кода буду длагодарен

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: 100% процессора

Сообщение iGrok » 27.11.2014 (Чт) 21:23

Бесконечным циклом, например. :)
label:
cli
jmp label

JIeT4uK
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 23.03.2003 (Вс) 4:48
Откуда: Украина, Донецк

Re: 100% процессора

Сообщение JIeT4uK » 27.11.2014 (Чт) 22:20

цикл крутится - нагрузка не больше 20 %

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 100% процессора

Сообщение Хакер » 27.11.2014 (Чт) 22:21

JIeT4uK писал(а):цикл крутится - нагрузка не больше 20 %

  1. Код цикла?
  2. Сколько логических ядер?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 100% процессора

Сообщение Mikle » 27.11.2014 (Чт) 22:43

JIeT4uK писал(а):Подскажите как нагрузить процессор.

Установи Касперского :)
А серьёзно - процессор, понятие растяжимое.
Можно скомпилировать программу с циклом и запустить столько экземпляров, сколько ядер у процессора, но тут тоже не всё так однозначно.
Скажем, можно нагрузить блоки FPU, а целочисленные будут простаивать, если в процессоре блоков FPU меньше, чем ядер. Если сделать чисто целочисленную задачу, то, запустив столько экземпляров, сколько логических ядер, мы нагрузим процессор на 100% по показаниям Диспетчера задач, но FPU, MMX, SSEx будут простаивать. А можно написать задачу, которая перегрузит шину памяти, при этом тоже по показаниям Диспетчера задач будет загрузка 100%, но реально процессор будет много времени проводить в ожидании.
А можно воспользоваться специальной утилитой, типа Everest (Aida в в новой версии).

JIeT4uK
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 23.03.2003 (Вс) 4:48
Откуда: Украина, Донецк

Re: 100% процессора

Сообщение JIeT4uK » 27.11.2014 (Чт) 23:05

Код: Выделить всё
While st_op = False
r = 46340
r2 = 46340 * 46340
Randomize
x = 1 + CLng(Rnd() * r)
y = 1 + CLng(Rnd() * r)
If (x ^ 2 + y ^ 2) < r ^ 2 Then popal = popal + 1
i = i + 1
pipipi = popal / i * 4
If i = 1000000 Then
i = 1
popal = 1
End If
Wend


в общем надо что бы показатель загрузки процессора был близок к 100%

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: 100% процессора

Сообщение Хакер » 27.11.2014 (Чт) 23:07

Во-первых, попробуй такой код:
Код: Выделить всё
while true
Wend


Во-вторых, вопрос о кол-ве лог. процессоров в системе остался незакрытым.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

The trick
Постоялец
Постоялец
 
Сообщения: 781
Зарегистрирован: 26.06.2010 (Сб) 23:08

Re: 100% процессора

Сообщение The trick » 27.11.2014 (Чт) 23:31

Нужно создать несколько потоков с долгим циклом по числу процессоров в системе.
Модуль:
Код: Выделить всё
Option Explicit

Public Type SYSTEM_INFO
  dwOemID                       As Long
  dwPageSize                    As Long
  lpMinimumApplicationAddress   As Long
  lpMaximumApplicationAddress   As Long
  dwActiveProcessorMask         As Long
  dwNumberOrfProcessors         As Long
  dwProcessorType               As Long
  dwAllocationGranularity       As Long
  dwReserved                    As Long
End Type

Public Declare Sub GetSystemInfo Lib "kernel32" (lpSystemInfo As SYSTEM_INFO)
Public Declare Function CreateThread Lib "kernel32" (lpThreadAttributes As Any, ByVal dwStackSize As Long, _
                                                     ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, _
                                                     lpThreadId As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Public flag As Long

Public Sub thread(ByVal unUse As Long)

    Do
    Loop While GetFlag()
   
End Sub

Private Function GetFlag() As Long
    GetFlag = flag
End Function

Форма:
Код: Выделить всё
Option Explicit

Private Sub cmdRun_Click()
    Dim sysInfo As SYSTEM_INFO
    Dim thrd    As Long
    Dim hThread As Long
   
    If flag Then
        flag = 0
        cmdRun.Caption = "Run"
        Exit Sub
    End If
   
    GetSystemInfo sysInfo
   
    cmdRun.Caption = "Stop"
    flag = 1
   
    For thrd = 0 To sysInfo.dwNumberOrfProcessors - 2
        hThread = CreateThread(ByVal 0&, 0, AddressOf thread, ByVal 0&, 0, 0)
        CloseHandle hThread
    Next
   
    While flag
        DoEvents
    Wend
   
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If flag Then cmdRun_Click
End Sub

Изображение
Вложения
FullLoad.rar
(4.58 Кб) Скачиваний: 125
UA6527P

JIeT4uK
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 23.03.2003 (Вс) 4:48
Откуда: Украина, Донецк

Re: 100% процессора

Сообщение JIeT4uK » 28.11.2014 (Пт) 19:15

замечательно грузит. Огромное спасибо.
А чем можно видеокарту нагрузить?

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: 100% процессора

Сообщение Mikle » 28.11.2014 (Пт) 19:27

JIeT4uK писал(а):А чем можно видеокарту нагрузить?

Например, этим:
https://yadi.sk/d/dlLAfWGack3Z5
Только не отворачивай камеру в сторону от станции.

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: 100% процессора

Сообщение strelec » 02.07.2015 (Чт) 16:39

[Хакер] :: Вырезан код, который был не на том языке, который обсуждается в этом разделе.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 02.07.2015 (Чт) 18:07

strelec, это раздел по VB6, а не VB.NET. И вообще, как-то сложно. По идее, должно хватить соотношения по потоку на ядро процессора. Ну при желании, по 2-3.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 55

    TopList