GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo deshabilitar las cachés L1 y L2 del procesador?

Puede lograr esto con un pequeño código ASM, consulte el capítulo 11 de la Guía de programación del sistema Intel

11.5.3 Prevención del almacenamiento en caché

Para deshabilitar las cachés L1, L2 y L3 después de que se hayan habilitado y hayan recibido rellenos de caché, realice los siguientes pasos:1. Ingrese al modo de caché sin relleno. (Establezca el indicador de CD en el registro de control CR0 en 1 y el indicador NW en 0.2. Vacíe todas las cachés usando la instrucción WBINVD. 3. Deshabilite los MTRR y configure el tipo de memoria predeterminado como sin caché o configure todos los MTRR para el tipo de memoria sin caché (consulte la discusión de la discusión del campo TYPE y el indicador E en la Sección 11.11.2.1, “IA32_MTRR_DEF_TYPE MSR”).

No conozco ningún módulo de Python que implemente esto.


No puede hacerlo directamente en Python, ya que necesita un módulo del kernel para hacerlo (y derechos de root para cargar ese módulo).

Consulte http://lxr.free-electrons.com/source/arch/arm/mm/cache-v7.S#L21 para saber qué se necesita para invalidar la memoria caché L1 (invalidar, no deshabilitar).

Diferentes arquitecturas de CPU (por ejemplo, x86 vs ARM) requieren un código de ensamblaje diferente (instrucciones de CPU) para deshabilitar el caché. No estoy seguro de si el kernel de Linux tiene alguna posibilidad de deshabilitar las cachés L1/L2/L3/L4 y, si la tuviera, creo que solo se usaría internamente durante un corto período de tiempo, ya que la CPU es lenta. sin estos cachés.

Consulte ¿Hay alguna forma de deshabilitar la memoria caché de la CPU (L1/L2) en un sistema Linux? para obtener un enlace sobre cómo puede deshabilitar el caché en un sistema x86/x64 (debe cambiar el registro cr0 ). Para ARM, verifique el comportamiento de Caché deshabilitado.

No estoy seguro de que entienda completamente lo que hacen los cachés de la CPU. ¿Puede explicar por qué desea paralizar el rendimiento de su sistema?


Linux
  1. Cómo deshabilitar los comandos de apagado y reinicio en Linux

  2. Cómo habilitar, deshabilitar e instalar complementos de Yum

  3. Redis como caché:cómo funciona y por qué usarlo

  4. Cómo vaciar la caché de DNS en Ubuntu y LinuxMint

  5. ¿Cómo producir el efecto de caché de la CPU en C y Java?

Cómo vaciar DNS en Ubuntu y CentOS

Cómo habilitar y deshabilitar la cuenta raíz en Ubuntu

Cómo deshabilitar la suspensión y la hibernación en Linux

Cómo borrar caché y cookies en Google Chrome

Cómo instalar KernelCare y borrar Kernelcare Cache en Linux

Cómo deshabilitar y habilitar las alertas SiteSentry