vous ne désactivez ou ne désactivez pas nécessairement les cœurs.
vous utiliseriez des cpusets et un ensemble de tâches
http://man7.org/linux/man-pages/man7/cpuset.7.html
Un cpuset définit une liste de CPU et de nœuds de mémoire ...
Le système de fichiers cpuset est une interface de pseudo-système de fichiers vers le mécanisme de cpuset du noyau, qui est utilisé pour contrôler le placement du processeur et le placement en mémoire des processus. Il est généralement monté sur / dev / cpuset.
Sur les systèmes avec des noyaux compilés avec un support intégré pour les cpusets, tous les processus sont attachés à un cpuset et les cpusets sont toujours présents. Si un système prend en charge les cpusets, il aura alors l'entrée nodev cpuset dans le fichier / proc / filesystems. En montant le système de fichiers cpuset (voir la section EXEMPLE ci-dessous), l'administrateur peut configurer les cpusets sur un système pour contrôler le processeur et le placement en mémoire des processus sur ce système. Par défaut, si la configuration de cpuset sur un système n'est pas modifiée ou si le système de fichiers cpuset n'est même pas monté, le mécanisme de cpuset, bien que présent, n'a aucun effet sur le comportement du système.
Les CPU d'un système comprennent toutes les unités de traitement logiques sur lesquelles un processus peut s'exécuter, y compris, le cas échéant, plusieurs cœurs de processeur dans un package et des Hyper-Threads dans un cœur de processeur. Les nœuds de mémoire incluent toutes les banques distinctes de mémoire principale; les systèmes petits et SMP ont généralement un seul nœud de mémoire qui contient toute la mémoire principale du système, tandis que les systèmes NUMA (accès à la mémoire non uniforme) ont plusieurs nœuds de mémoire.
En bref, si vous avez 1 cpu ayant 6 cœurs, vous configurez des cpusets et lancez votre processus dans un cpuset qui est configuré sur un seul cœur, par exemple le cœur n ° 3 par exemple. S'il s'agissait d'un processus parallèle, tout serait confiné à ce seul cœur de sorte que si vous lanciez 4 processus dans un cpuset donné avec un seul cœur défini, chacun des 4 processus obtiendrait 25% d'utilisation du processeur sur le cœur # 3.
À partir de cela, ce qui se passe généralement est qu'un cpuset est configuré de telle sorte que
- dans un système à plus de 200 cœurs, par exemple, cpusetA correspond aux cœurs 0..60 où qu'ils se trouvent, cpusetB correspond aux cœurs 61..70; cpusetC correspond aux cœurs 71..80; et ainsi de suite mais un administrateur / architecte choisit de configurer.
- cpusetA est attribué à certains utilisateurs et / ou logiciels spécifiques; cpusetB est alloué à différents utilisateurs / programmes; etc.
- un utilisateur lance un travail (processus) qui demanderait N cœurs ... dans un cpuset donné, et maintenant ces multiples processus (parallèles) sont limités à ce cpuset donné. Et pour les N parallèles confinés à un cpuset donné, chacun de ces processus utiliserait / devrait utiliser l' affinité processeur ou l' affinité cpu afin que ces processus parallèles ne se débattent pas sur différents cœurs au sein du cpuset.
aussi: https://linux.die.net/man/1/taskset
maxcpus=1
commande ? Avez-vous mis cette chaînegrub.cfg
comme option de démarrage? (Veuillez mettre à jour votre question au lieu de répondre dans les commentaires).