Quelqu’un sait-il comment définir l’affinité du processeur avec un AMD 5950x ? J’essaie de le configurer pour qu’il n’utilise que 8 cœurs, mais j’obtiens cette erreur dans les journaux.
2025-06-11T13:09:52 MCEBuddy.AppWrapper.Base → Setting CPU affinity to → -16711936
WARNING> 2025-06-11T13:09:52 MCEBuddy.AppWrapper.Base → Error trying process priority or setting CPU affinity to → -16711936
System.ComponentModel.Win32Exception (0x80004005): The parameter is incorrect
at System.Diagnostics.Process.set_ProcessorAffinity(IntPtr value)
at MCEBuddy.AppWrapper.Base.Run()
Pourriez-vous également prendre une capture d’écran de la page de paramètres d’affinité CPU dans MCEBuddy afin que nous puissions voir quel cœur vous essayez d’utiliser.
Nous essayons de comprendre ce qui se passe, s’il s’agit d’un problème de code ou de la façon dont les processeurs logiques sont traités avec les nouveaux processeurs AMD.
Pourriez-vous essayer ceci : dans votre page de gestion du processeur, sélectionnez les CPU 1 à 17 (les 16 de la première ligne et le 1er de la deuxième ligne). Lancez ensuite une conversion et dites-moi ce que vous voyez dans les journaux. Merci.
J’ai un peu procédé à quelques tests en ajoutant un CPU à chaque fois. Voici ce que j’ai observé :
17 CPU affinity to → 131071
18 CPU Affinity to → 262143
19 CPU affinity to → 524287
20 CPU affinity to → 1048575
21 CPU affinity to → 2097151
22 CPU affinity to → 4194303
23 CPU affinity to → 8388607
24 CPU affinity to → 16777215
25 CPU affinity to → 33554431
26 CPU affinity to → 67108863
27 CPU affinity to → 134217727
28 CPU affinity to → 268435455
29 CPU affinity to → 536870911
30 CPU affinity to → 1073741823
31 CPU affinity to → 2147483647
32 j’ai dû retirer la vérification pour 1 car cela ne me permettait pas de tout cocher, puis j’ai obtenu :
Setting CPU affinity to → -2
WARNING> 2025-06-12T16:18:56 MCEBuddy.AppWrapper.Base → Error trying process priority or setting CPU affinity to → -2
Nous avons revérifié ici et le code est conforme aux spécifications, mais il semble que Windows ait des problèmes avec votre 32e cœur logique. Nous essayons de déterminer s’il s’agit d’un bug de Windows ou d’un problème de configuration système.
Pouvez-vous vérifier quelques éléments :
Dans le gestionnaire des tâches Windows, tous les 32 threads/processeurs logiques sont-ils affichés ?
Dans les paramètres du BIOS, les 32 sont-ils tous activés ?
Nous avons une théorie, mais nous avons besoin de votre aide pour tester quelque chose. Pourriez-vous essayer une dernière chose ? Cela implique une modification manuelle du fichier de configuration, donc l’ordre des étapes est important.
Cliquez sur le bouton Arrêter dans MCEBuddy et assurez-vous qu’il est arrêté avant de continuer (seul le bouton Démarrer devrait être disponible une fois le moteur arrêté).
Ouvrez le fichier mcebuddy.conf et recherchez la ligne CPUAffinity
Changez-la en CPUAffinity=-1
Enregistrez le fichier et fermez-le
Cliquez sur le bouton Démarrer dans MCEBuddy
Cliquez maintenant sur le bouton Ajouter et lancez une conversion (elle n’a pas besoin de se terminer, laissez-la simplement s’exécuter quelques étapes pendant environ 20-30 secondes)
Si possible, pourriez-vous répéter les étapes ci-dessus mais avec CPUAffinity=-2147483648
Vérifiez les fichiers journaux et publiez ce que vous y voyez.
2025-06-18T16:56:41 MCEBuddy.AppWrapper.Base → Setting CPU affinity to → -2147483648
WARNING> 2025-06-18T16:56:41 MCEBuddy.AppWrapper.Base → Error trying process priority or setting CPU affinity to → -2147483648
System.ComponentModel.Win32Exception (0x80004005): Le paramètre est incorrect
at System.Diagnostics.Process.set_ProcessorAffinity(IntPtr value)
at MCEBuddy.AppWrapper.Base.Run()
Merci. Il semble donc qu’une de ces deux situations se produise :
Windows (les API logicielles) a un bogue : il n’autorise pas MCEBuddy à activer/désactiver le 32ᵉ cœur de thread.
La configuration système/carte mère/BIOS présente un problème : Windows ne reconnaît pas le 32ᵉ cœur de thread ou ne peut pas le gérer.
Cela semble fonctionner pour les cœurs de threads 1 à 31.
Êtes-vous capable de voir le 32ᵉ cœur de thread dans le Gestionnaire des tâches ? Êtes-vous capable de sélectionner uniquement le 32ᵉ cœur de thread pour un processus via le Gestionnaire des tâches ?
Cela forcera l’interface MCEBuddy GUI à être assignée au 32ᵉ cœur logique. Si l’opération réussit, aucune erreur ne s’affiche et nous saurons alors que le 32ᵉ cœur peut effectivement être utilisé sans problème de configuration système/carte mère/BIOS. Si vous voyez une erreur (indiquez-la-moi), il s’agit probablement d’un problème d’API Windows.
Je ne suis pas sûr que cela aide, mais j’ai utilisé PowerShell pour afficher l’affinité, puis j’ai supprimé le processus 32 via le gestionnaire des tâches. Voici ce qu’il a montré :
tous les 32 :
PS E:\plex> .\get_proc.ps1
Processor Affinity for Notepad: 4294967295
premiers 31 :
PS E:\plex> .\get_proc.ps1
Processor Affinity for Notepad: 2147483647
PS E:\plex>
C’est un script très utile, cependant je suppose que vous exécutez Windows 64 bits, donc votre test de notepad s’est fait en mode 64 bits. Le problème ici est que certains composants de MCEBuddy tournent en 32 bits (WOW64) pour des raisons de compatibilité et c’est là que semble provenir le problème.
Pourriez-vous refaire votre propre script de test mais avec un programme 32 bits en mode WOW64.
Vous pouvez lancer un notepad 32 bits dans WOW64 depuis %windir%\\SysWOW64\\notepad.exe
Si vous obtenez les mêmes résultats en exécutant en 32 bits WOW64, cela confirmerait la cause racine probable du problème.
Il semble que cette version de notepad s’affiche toujours comme x64 dans le gestionnaire des tâches. J’ai utilisé mobaxterm qui s’affiche en x86 et il montre les mêmes valeurs :
PS E:\plex> .\get_proc.ps1
Processor Affinity for Notepad: 4294967295
PS E:\plex> .\get_proc.ps1
Processor Affinity for Notepad: 2147483647
Ok, nous avons une solution de contournement et un correctif pour la configuration. Essayez la version bêta 2.6.6 d’aujourd’hui. Vous devrez retourner dans les paramètres, revérifier votre configuration de processeur et la réenregistrer pour que les modifications prennent effet.
Avec cette version, vous pouvez sélectionner jusqu’à 64 cœurs/threads logiques (pour les systèmes 64 bits et 32 pour les systèmes 32 bits).
Pouvez-vous essayer de sélectionner le 32e processeur (tous les processeurs ou simplement le 32e) puis sans le 32e et voir comment cela se passe.
N’hésitez pas à publier les journaux ici (succès et échecs) afin que nous puissions les comparer à nos résultats attendus.