Weet iemand hoe je processorkernaffiniteit instelt met een AMD 5950x? Ik probeer het zo in te stellen dat het slechts 8 kernen gebruikt, maar ik krijg deze fout in de logs.
2025-06-11T13:09:52 MCEBuddy.AppWrapper.Base → CPU-affiniteit instellen op → -16711936
WARNING> 2025-06-11T13:09:52 MCEBuddy.AppWrapper.Base → Fout bij het instellen van procesprioriteit of CPU-affiniteit op → -16711936
System.ComponentModel.Win32Exception (0x80004005): De parameter is onjuist
at System.Diagnostics.Process.set_ProcessorAffinity(IntPtr value)
at MCEBuddy.AppWrapper.Base.Run()
We proberen uit te zoeken wat er aan de hand is, of het een probleem is met de code of met de manier waarop logische processors worden behandeld bij de nieuwe AMD-processors.
Kun je dit proberen: op je pagina voor processormanagement, selecteer CPU’s 1 tot en met 17 (alle 16 op de eerste rij en de eerste uit de tweede rij). Voer vervolgens een conversie uit en laat me weten wat je in de logs ziet. Alvast bedankt.
Ik heb een paar tests uitgevoerd door telkens een CPU toe te voegen. Dit is wat ik zag:
17 CPU-affiniteit naar → 131071
18 CPU-affiniteit naar → 262143
19 CPU-affiniteit naar → 524287
20 CPU-affiniteit naar → 1048575
21 CPU-affiniteit naar → 2097151
22 CPU-affiniteit naar → 4194303
23 CPU-affiniteit naar → 8388607
24 CPU-affiniteit naar → 16777215
25 CPU-affiniteit naar → 33554431
26 CPU-affiniteit naar → 67108863
27 CPU-affiniteit naar → 134217727
28 CPU-affiniteit naar → 268435455
29 CPU-affiniteit naar → 536870911
30 CPU-affiniteit naar → 1073741823
31 CPU-affiniteit naar → 2147483647
32 moest de controle op 1 verwijderen, want dan kon ik niet alles selecteren, en kreeg ik:
Instellen van CPU-affiniteit naar → -2
WAARSCHUWING> 2025-06-12T16:18:56 MCEBuddy.AppWrapper.Base → Fout bij het instellen van procesprioriteit of CPU-affiniteit naar → -2
We hebben hier alles dubbel gecontroleerd en de code voldoet aan de specificaties, maar het lijkt erop dat Windows problemen heeft met je 32ste logische core. We proberen uit te zoeken of het een bug in Windows is of iets met de systeemconfiguratie dat de oorzaak is.
Kun je een paar dingen controleren:
Worden in de Windows-taakbeheerder alle 32 threads/logische processoren weergegeven?
Zijn in je BIOS-instellingen alle 32 ingeschakeld?
We hebben een theorie, maar we hebben uw hulp nodig om iets te testen. Kunt u nog één ding proberen? Het vereist handmatig bewerken van het configuratiebestand, dus de volgorde van de stappen is belangrijk.
Klik op de Stop-knop in MCEBuddy en zorg ervoor dat het is gestopt voordat u verdergaat (alleen de Start-knop zou beschikbaar moeten zijn zodra de engine is gestopt).
Open het bestand mcebuddy.conf en zoek naar de regel CPUAffinity
Verander deze in CPUAffinity=-1
Sla het bestand op en sluit het
Klik op de Start-knop in MCEBuddy
Klik nu op de Add-knop en start een conversie (het hoeft niet te voltooien, laat het gewoon een paar stappen draaien gedurende ongeveer 20-30 seconden)
Indien mogelijk, kunt u bovenstaande stappen herhalen maar met CPUAffinity=-2147483648
Controleer de logbestanden en laat weten wat u daarin ziet.
2025-06-18T16:56:41 MCEBuddy.AppWrapper.Base → CPU-affiniteit instellen op → -2147483648
WAARSCHUWING> 2025-06-18T16:56:41 MCEBuddy.AppWrapper.Base → Fout bij het instellen van procesprioriteit of CPU-affiniteit op → -2147483648
System.ComponentModel.Win32Exception (0x80004005): De parameter is onjuist
at System.Diagnostics.Process.set_ProcessorAffinity(IntPtr value)
at MCEBuddy.AppWrapper.Base.Run()
Een snelle test om te achterhalen waar het probleem zou kunnen liggen in een paar stappen:
Start de MCEBuddy GUI (app) en houd deze open
Open een opdrachtprompt door naar Uitvoeren te gaan en cmd.exe te starten/typ dit
Typ in de opdrachtregel powershell.exe "Get-Process MCEBuddy.GUI | Select-Object ProcessorAffinity"
Dit zou de standaard processormask moeten geven die is toegewezen; laat me weten wat het is
Typ nu in powershell.exe "$proc = Get-Process MCEBuddy.GUI; $proc.ProcessorAffinity = 0x80000000"
Dit zou MCEBuddy GUI moeten dwingen om aan de 32e core-thread te worden toegewezen. Als het lukt, verschijnt er geen foutmelding en weten we dat de 32e core-thread inderdaad gebruikt kan worden en dat er geen probleem is met de systeem/moederbord/bios-configuratie. Als je echter een foutmelding ziet (laat me weten wat het is), dan is het waarschijnlijk een Windows API-probleem.
Weet niet of dit helpt, maar ik heb PowerShell gebruikt om de affinity te tonen en vervolgens het 32e proces verwijderd via Taakbeheer. Dit toonde het:
alle 32:
PS E:\plex> .\get_proc.ps1
Processor Affinity for Notepad: 4294967295
eerste 31:
PS E:\plex> .\get_proc.ps1
Processor Affinity for Notepad: 2147483647
Dat is een zeer behulpzaam script, maar ik neem aan dat je 64-bit Windows gebruikt, dus je test met Kladblok werd uitgevoerd in 64-bit modus. Het probleem is dat sommige onderdelen van MCEBuddy in 32-bit (WOW64) draaien voor compatibiliteitsredenen en daar lijkt het probleem vandaan te komen.
Kun je je testscript opnieuw uitvoeren, maar dan met een 32-bit programma in WOW64-modus?
Je kunt een 32-bit Kladblok in WOW64 starten vanaf %windir%\\SysWOW64\\notepad.exe
Als je dezelfde resultaten kunt krijgen terwijl je in 32-bit WOW64 draait, bevestigt dat waarschijnlijk de hoofdoorzaak van het probleem.
Het leek erop die versie van notepad nog steeds als x64 in taakbeheer toont. Ik gebruikte mobaxterm die als x86 verschijnt en het toont dezelfde waarden:
PS E:\plex> .\get_proc.ps1
Processor Affinity for Notepad: 4294967295
PS E:\plex> .\get_proc.ps1
Processor Affinity for Notepad: 2147483647
Ok, we hebben een workaround en oplossing voor de setup. Probeer de bètaversie 2.6.6 van vandaag. Je moet teruggaan naar de instellingen, je processorinstelling opnieuw verifiëren en opnieuw opslaan voordat de wijzigingen van kracht worden.
Met deze build kun je tot 64 logische cores/threads selecteren (voor 64-bits systemen en 32 voor 32-bits systemen).
Kun je proberen de 32e processor te selecteren (alle processors of alleen de 32e) en vervolgens zonder de 32e en kijken hoe het verloopt.
Voel je vrij om de logs hier te plaatsen (succes- en faalgevallen) zodat we ze kunnen vergelijken met onze verwachte resultaten.