Processaffinität setzen

  • Hallo!

    Ich möchte die Processaffinität für alle Programme außer einem bestimmten auf CPU 1-3 setzen, zu dem Zwecke, dieses eine bestimmte auf CPU4 laufen zu lassen.
    Ich habe das Programme process.exe gefunden, welches ich folgendermaßen aufrufen wollte:

    Code
    For $i = 100 to 1 Step -1
       RunWait ("process.exe -a $i 1")
    Next
    MsgBox(0,"", "Fertig!")

    Leider klappt das überhaupt nicht, ich habe aber auch gar keine Ahnung vom programmieren. Ich hab auch schon einige Autoit-Scripte für die Anpassung der Affinität gefunden, aber die sind für mich zu kompliziert.

    Ich wollte einfach die Schleife von 5000 bis 1 runterzählen (hier zum Test nur von 100), damit ich auch alle Prozesse erwische und dann das eine Programm von Hand richtig einstellen, weil ich ja normalerweise nicht jeden Tag meinen Rechner neu starte.

    Vielleicht kann mir ja jemand helfen, das wäre sehr nett.

    Ciao

  • Hi!

    Du hast da einen kleinen Fehler in deinem Script.

    [autoit]

    RunWait ("process.exe -a $i 1") falsch
    RunWait ("process.exe -a " & $i & " 1")

    [/autoit]

    Und einfach alle Werte durch gehen ist auch etwas unschön und dauert ziemlich lange.
    Deshalb mit ProcessList die vorhandenen einlesen und bei diesen dann versuchen die CPU Zugehörigkeit zu ändern.
    Ich denk, dass das aber nicht bei allen funktionieren wird.
    Vorallem bei den Systemprozessen nicht.

    [autoit]


    Dim $list1
    $list = ProcessList()
    For $i = 1 To $list[0][0]
    $list1 &= $list[$i][0] & " " & @TAB & $list[$i][1] & @CR
    RunWait ("process.exe -a " & $list[$i][1] & " 1","",@SW_HIDE) ;die Process.exe muss im gleichen Verzeichnis sein wie dieses Script!!!
    Next
    MsgBox(0, "", $list1)

    [/autoit]

    LG Concara

    If not :?: then ?( else :thumbup:

  • Danke schön, funktioniert perfekt.

    Ich habe gestern beim ersten Versuch von 5000 bis 1 runter gezählt, das hat natürlich gedauert, weil immer wieder neue Fenster aufpoppten, aber der Rechner hat es überlebt. :)