ram

RAM Disk

Written by  on Juni 26, 2023

Mir kommt vor, viele Leute haben immer noch Panik vor einer RAM Disk.
Doch nichts leichter als das in einem Raspian Image:
Konkret mit Raspbian GNU/Linux 11 (bullseye)

# mkdir /mnt/ramdisk
# Add to /etc/fstab
tmpfs   /mnt/ramdisk    tmpfs nodev,nosuid,size=2M      0       0

Speicherfresser

Written by  on März 14, 2014

Anmerkung zum Artikel „Speicherfresser – Speicherverwaltung bei High-End-Systemen“ im Linuxmagazin 03/14

Einfach gesagt, geht es um eine Thema über das ich schon vor einiger Zeit gebloggt habe: Swap

Es geht in dem sieben seitigen Artikel unter anderem um die Frage, warum man auch auf modernen Systemen, mit massenhaft Speicher noch immer Swap-Speicher benötigt.

I/O intensive Prozesse können den Speicher von Anwendungen, die kaum I/O lastig sind, in den Swap Bereich zwingen. Am Besten verständlich wird das anhand eines Beispieles: Eine Datenbank hält jede Menge Speicher für verschiedene Buffer belegt. Der Großteil des nötigen Datensets liegt im RAM und alles ist gut. Dieses eingespielte System verursacht dann nur mehr wenig I/O. Läuft jetzt aber ein Backup, von dem die ganze Disk gelesen wird, wandern diese Daten in den Cache und zwingen so die eigentlichen Arbeitsdaten in den Swap. Im Anschluss wird die ursprüngliche Performance erst wieder erreicht, wenn die Daten den eigentlich unnötigen Cache wieder verdrängt haben.

Swap

Written by  on Januar 8, 2013

Ein weiterer Grund, warum der verbrauchte Speicher, nicht mit belegtem Speicher plus Swap übereinstimmt: …

As it turns out, swap means more than just pages swapped to disk. An application's binary and libraries need not stay in memory the whole time. The kernel can mark some of the memory pages as unnecessary at the time; but because the binary is at a known location on disk, there is no need to use the swap file. This is still counted as swap because the part of the code isn't resident. In addition, memory can be mapped to a disk file by the application. Because the whole size of the application (VIRT) includes the mapped memory, but it isn't resident (RES), it's counted as swap.

l-lpic3306-pdf.pdf

Speicherauslastung und Swap

Written by  on Februar 29, 2012

Wird der RAM in einem Linux-System zu wenig, wird auch der Swap-Bereich benutzt. Woher kommt es aber, dass manchmal noch Speicher frei ist, aber trotzdem schon Swap benutzt wird?
Laut Thorsten Robers, LPI 301, S. 306 gibt es zwei Bedingungen, wann Speicher in den Swap-Bereich ausgelagert wird:

Steht nicht genügend RAM zur Verfügung oder geht der Betriebssystemkern davon aus, dass der Prozess in nächster Zukunft nicht weiter ausgeführt werden muss, lagert der Kernel diese Daten in den Swap-Speicher aus.

Das bedeutet, dass der Kernel bereits präventiv den Swap-Bereich benutzt, um mehr Speicher für die tatsächlich aktiven Prozesse und den Platten-Cache frei zu haben.

Im Idealfall wird dieser (Anm: der Swap-Speicher) kaum genutzt, wobei nicht die Verwendung der [sic] Swap-Speichers per se auf einen Engpass hinweist. Erst wenn der Kernel Swap-Speicher exzessiv zur Auslagerung von Prozessen und Daten nutzt, wirkt sich das negativ auf die Gesamtperformance des Systems aus.

Das Verhalten "wie gerne" ein System den Auslagerungsspeicher benutzt, kann eingestellt werden unter der Bezeichnung swappiness:

# cat /proc/sys/vm/swappiness
60

60 ist der Default-Wert, 0 würde bedeuten, dass gar nichts mehr in den Swap-Bereich kommen soll.

Zitat des Tages

Written by  on Mai 1, 2010

How Much Memory Do You Nee?
The answer is "more."

Web Performance Tuning

A Crash Course in Modern Hardware

Written by  on Januar 16, 2010

In dieser Präsentation (passt übrigens zur Vorlesung in Rechnerarchitektur) von der JVM Languages Summit 2009, erzählt Cliff Click über die Von Neumann Architektur, CISC & RISC, den Aufstieg von Multicore, Instruction-Level Parallelism (ILP), Pipelining, Out-of-order Dispatch, Static & Dynamic ILP, Performance Einflüsse von Cache Misses, Memory Performance, Memory & CPU Caching, Beispiele für Speicher / CPU Cache Wechselwirkungen, and Tipps für verbesserte Performance.

Das ganze findet sich in Englischer Sprache hier:

http://www.infoq.com/presentations/click-crash-course-modern-hardware