RAM Blocked

Patient: Ich kann mich nicht gut erinnern... Arzt: Ok, seit wann? Patient: Was, ist seit wann? - Nun dieser kleine Witz, kann man auch auf einige Probleme mit dem Arbeitsspeicher übertragen. Zum Beispiel kann der Fehler "memory could not get reserved, process could not load entity", ein Zeichen dafür sein, dass ein Prozess (höchstwahrscheinlicher ein hardwarenaher Prozess) Daten hinterließ, welche dann aber später überschrieben wurden, weil es zu einem SchreibFehler beim RAM kam.

Solche Abstürze die durch zu viele Prozesse passieren, sind meist folge von einem sogenannten CPU hogging, wobei hierbei die CPU nur eine Nebenrolle spielt, den die Ursache ist meist der Arbeitsspeicher und/oder die CPU Cache`s. Denn häufig reicht es schon, dass ein einzelner Prozess eine Laufzeitübertretung hat und deshalb in den CPU L1 Cache zurückgeladen wird, was Unterumständen aufgrund von dem vollen Speicherplatz zu einem Dominoeffekt führen kann, der somit zum Ausfall eines ganzen Systems führen kann. Dank den kooperativen Schedulern von den CPU`s , können Prozesse auch simultan ausgeführt werden und die CPU muss nicht mehr so lange warten, bis der Prozess die Runingtime von selber beendet bzw. aufgibt, dies ist zwar grundsätzlich gut, kann aber in der Praxis zu enormen Verzögerungen und zu ( preferences may have changed) Fehlern führen. 

Damit dieses intelligente Process Management aber funktioniert, muss die CPU sogenannte predictions durchführen, welche in der Tatsache häufig Sicherheitslücken darstellen können. In der Geschichte hat Kane eine solche Sicherheitslücke ausgenutzt, um eine Zip-Bombe welche einen Virus enthält, einzuschmuggeln.

 

Du kannst deine CPU bei der Minimierung der Auslastung, bzw. der Optimierung der Running-Time unterstützen, wenn du die folgenden Tipps befolgst:

 

  • Wenn du Überprüfungen als Loops oder als If-Loop durchführst, dann solltest du vor dem Wiederholen jeweils den RAM aufgeben
  • Lösche den RAM (sudo purge)
  • Begrenze Prozesse
  • Lösche den L1 und L2 Cache der CPU, beim ersten Anzeichen von einem möglichen Freeze. Dazu musst du die betreffenden Daten zuerst invalidate`n, damit du die Rechte über sie erhalten kannst. Danach musst du nur noch einen CLFLUSH machen.

Tipps zum überschreiben von Daten im RAM:

 

  • Führe regelmässig RAM Stresstest`s durch, denn dabei wird der gesamte RAM getestet und damit belegt.
  • Aktiviere die Speicher-Neuzuordnungsfunktion
  • Lösche den RAM regelmässig
  • Baue Scripts, die den RAM nach dem Gebrauch von Blöcken, gleich wieder überschreiben. Denn wenn du einen Block einfach überschreibst, dann wird der Zustand des Transistors unwiederbringlich geändert, was semantische Fehler und Freezes fast ganz ausschliesst.  
let gi = Array(1e6).fill("data");
gi.reverse();
const used = process.memoryUsage().heapUsed / 1024 / 1024;
console.log(` ${used} MB`);
  • Wenn du befürchtest, dass es zu einem Freeze kommen könnte oder wenn bereits die ersten Verlangsamungsanzeichen auftreten, solltest du versuchen, die betreffenden RAM Blöcke bzw. die im Arbeitsspeicher gespeicherten Daten vom Prozess zu trennen. Dazu gehst du einfach in die Aktivitätsanzeige, wo du dann den Hauptprozess auswählst, der am meisten Arbeitsspeicherplatz einnimmt. Diesen Prozess beendest du mit dem folgenden Unix-Befehl: sudo kill pfid . Danach kannst du probieren, ob sich bei einem purge, nun etwas tut.
  • Neustarten
  • Stresse deine CPU und ihre Caches.
Wenn du ein Beispiel für eine Seite sehen möchtest, die das Management enorm gut macht, dann empfehle ich dir das Spiel unterhalb von dem Text. 
PS: Mit dem Button kannst du einen Javascript initiierten RAM Prozess starten (denn du auch beachten kannst).
SpaceTrek: The New Empire


KONTAKT

Bitte den Code eingeben:

Hinweis: Bitte die mit * gekennzeichneten Felder ausfüllen.


ADCELL

Hey! Thats me!

Severin Kämpfer Bremgarten bei Bern

16 years old trekkie.

Persönliche Webseite:

https://www.severin-kaempfer.ch

Unterstütze KKTVCAM mit 1 CHF! Bezahle mit Bitcoin!


*: Bedeutet, dass KKTVCAM das Produkt/die Seite evtl. getestet hat und nun Affiliate der betreffenden Firma ist.

Made with ♥ in Bern (Switzerland)!

KKTVCAM ÜBERNIMMT KEINE HAFTUNG FÜR ALLE ANGABEN AUF DIESER SEITE.