GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie werden die L1- und L2-Caches des Prozessors deaktiviert?

Sie können dies mit ein wenig ASM-Code erreichen, siehe Kapitel 11 des Intel System Programming Guide

11.5.3 Caching verhindern

Um die L1-, L2- und L3-Caches zu deaktivieren, nachdem sie aktiviert wurden und Cache-Füllungen erhalten haben, führen Sie die folgenden Schritte aus:1. Rufen Sie den No-Fill-Cache-Modus auf. (Setzen Sie das CD-Flag im Steuerregister CR0 auf 1 und das NW-Flag auf 0,2. Leeren Sie alle Caches mit der Anweisung WBINVD die Diskussion der Diskussion des TYPE-Felds und des E-Flags in Abschnitt 11.11.2.1, „IA32_MTRR_DEF_TYPE MSR“).

Mir ist kein Python-Modul bekannt, das dies implementiert.


Sie können dies nicht direkt in Python tun, da Sie dazu ein Kernelmodul benötigen (und Root-Rechte, um dieses Modul zu laden).

Unter http://lxr.free-electrons.com/source/arch/arm/mm/cache-v7.S#L21 erfahren Sie, was erforderlich ist, um den L1-Cache ungültig zu machen (ungültig zu machen, nicht zu deaktivieren).

Unterschiedliche CPU-Architekturen (z. B. x86 vs. ARM) erfordern unterschiedlichen Assemblercode (CPU-Anweisungen), um den Cache zu deaktivieren. Ich bin mir nicht sicher, ob der Linux-Kernel die Möglichkeit hat, die L1/L2/L3/L4-Caches zu deaktivieren, und wenn dies der Fall wäre, würde er meiner Meinung nach nur für kurze Zeit intern verwendet, da die CPU langsam ist ohne diese Caches.

Siehe Gibt es eine Möglichkeit, den CPU-Cache (L1/L2) auf einem Linux-System zu deaktivieren? für einen Link, wie Sie den Cache auf einem x86/x64-System deaktivieren können (Sie müssen das Register cr0 ändern ). Für ARM check Cache deaktiviertes Verhalten.

Ich bin mir nicht sicher, ob Sie vollständig verstehen, was die CPU-Caches tun. Können Sie bitte erläutern, warum Sie die Leistung Ihres Systems beeinträchtigen wollen?


Linux
  1. So deaktivieren Sie Befehle zum Herunterfahren und Neustarten in Linux

  2. So aktivieren, deaktivieren und installieren Sie Yum-Plug-Ins

  3. Redis als Cache:Wie es funktioniert und warum man es verwendet

  4. So leeren Sie den DNS-Cache in Ubuntu und LinuxMint

  5. So deaktivieren Sie ETag in NGINX

So leeren Sie DNS unter Ubuntu und CentOS

So aktivieren und deaktivieren Sie das Root-Konto in Ubuntu

So deaktivieren Sie Suspend und Hibernation in Linux

So löschen Sie Cache und Cookies in Google Chrome

So installieren Sie KernelCare und löschen den Kernelcare-Cache unter Linux

So deaktivieren und aktivieren Sie SiteSentry-Warnungen