Je cherche a faire un outil qui permet de gerer l'affinité des CPU sur un process en cours.
Certaines applications sur ma machine utilise 100% du CPU.
J'aimerai reduire automatiquement l'affinité des CPUS du process concerné afin de pouvoir liberer un peu de ressources pour bosser sur cette machine.
J'ai donc ce script:
#include <Constants.au3>
$begin = TimerInit()
While 1
If ProcessExists("notepad.exe") Then
$process= ProcessList("notepad.exe")
$sPID = $process[1][1]
$hProc = _WinAPI_OpenProcess($PROCESS_ALL_ACCESS, False, $sPID)
$aRet = _WinAPI_GetProcessAffinityMask($hProc)
_WinAPI_SetProcessAffinityMask($hProc,0xFFFFFFFF)
_WinAPI_CloseHandle($hProc)
EndIf
Sleep(3000)
WEnd
Cette ligne regle le nombre de Threads du CPU à 32.
J'aimerais donc cocher 54 Threads pour l'utilitaire Notepad.
La ligne devrait etre alors:
Je ne suis pas un utilisateur d'Autoit averti, mais je suppose que _WinAPI_SetProcessAffinityMas n'accepte pas d'envoyer comme parametre un int64.
Est-ce une limitation définitive qui nécessite d’écrire un ticket de request ou connaissez-vous un moyen de contourner ce problème.
En vous remerciant,
Kamesan