Quiero deshabilitar 3 núcleos de CPU y ejecutar mi procesador en un solo núcleo. Tengo comando utilizado: maxcpus=1. Pero después de esto ejecuté este comando ls /sys/devices/system/cpu. Aún se nota cpu0,cpu1,cpu2,cpu3.
También probé: echo 0 > /sys/devices/system/cpu3/onlinepero me sale el siguiente error: no such file or directory.

maxcpus=1comando ? ¿Pusiste esa cadenagrub.cfgcomo una opción de arranque? (Actualice su pregunta en lugar de responderla en los comentarios).maxcpus=1) varía según la distribución. Además, la/sysruta que tiene es simplemente la incorrecta, la ruta correcta es/sys/devices/system/cpu/cpu3/online.Respuestas:
Como Patrick ha indicado en un comentario , entendiste
/sysmal el camino .Si desea apagar todas las CPU excepto
cpu0:Escribir
maxcpus=1en un indicador de comandos de shell no tiene ningún efecto. Más precisamente, establece la variablemaxcpusal valor1en ese shell, que no tiene ningún otro efecto. Puede establecer el número de CPU en el momento del arranque pasandomaxcpuscomo parámetro del núcleo . Para eso, debe cambiar la configuración del cargador de arranque (por ejemplo, para cambiar la línea de comando del núcleo en U-Boot).fuente
/sys/devices/system/cpu/onliney./offlinepara controlar todos los núcleos.corey apagar?no necesariamente apaga o deshabilita los núcleos.
que usaría cpusets y taskset
http://man7.org/linux/man-pages/man7/cpuset.7.html
En resumen, si tiene 1 CPU con 6 núcleos, configuraría cpusets e iniciaría su proceso en un cpuset que está configurado en un solo núcleo, por ejemplo, core # 3. Si se tratara de un proceso paralelo, todo se limitaría a ese núcleo, de modo que si iniciara 4 procesos en un cpuset determinado con un solo núcleo definido, cada uno de los 4 procesos obtendría un 25% de utilización de CPU en el núcleo # 3.
Partiendo de eso, lo que generalmente sucede es que un cpuset está configurado de tal manera que
también: https://linux.die.net/man/1/taskset
fuente