PDA

Показать полную графическую версию : [решено] Запуск программы с использование 50% ядер


Svnkill
17-09-2019, 20:51
Привет нужна помощь, надо чтобы программа при запуске запускалась с использование 50% ядер. Количество ядер не известно

Iska
17-09-2019, 23:01
Svnkill, например, у Вас 1 ядро. Что делать?

Ну, например (если смотреть не на физические ядра, а на логические, как в нашей реальности):
@echo off
setlocal enableextensions enabledelayedexpansion

set sProgramm=%SystemRoot%\System32\notepad.exe

for /f "usebackq delims=" %%i in (`2^>nul wmic.exe CPU Get NumberOfLogicalProcessors /value ^| find.exe /i "NumberOfLogicalProcessors"`) do for /f "usebackq delims=" %%j in ('%%~i') do set /a i%%j

if defined iNumberOfLogicalProcessors (
echo NumberOfLogicalProcessors: [%iNumberOfLogicalProcessors%]

if %iNumberOfLogicalProcessors% gtr 1 (
rem 2 0x01
rem 4 0x03
rem 8 0x07
rem 16 0x0f
rem 32 0x1f
rem 64 0x3f

set /a iAffinity = %iNumberOfLogicalProcessors% - 1
"%comspec%" /c "exit /b !iAffinity!"
start "" /affinity 0x!=ExitCode! "%sProgramm%"
) else (
start "" "%sProgramm%"
)
) else (
start "" "%sProgramm%"
)

endlocal
exit /b 0

В почётной роли неозвученного приложения:
программа »
— Блокнот.




© OSzone.net 2001-2012