zram - zram
Napisane w | C |
---|---|
System operacyjny | Linux |
Rodzaj | Funkcje jądra Linux |
Licencja | Powszechna Licencja Publiczna GNU |
Strona internetowa | www |
zram , dawniej nazywany compcache , to moduł jądra Linux do tworzenia skompresowanego urządzenia blokowego w pamięci RAM, tj. dysku RAM z kompresją dysku w locie. Urządzenie blokowe utworzone za pomocą zram może być następnie użyte do wymiany lub jako dysk RAM ogólnego przeznaczenia. Dwa najczęstsze zastosowania zram to przechowywanie plików tymczasowych ( /tmp
) oraz jako urządzenie wymiany. Początkowo zram miał tylko tę drugą funkcję, stąd oryginalna nazwa „compcache” („skompresowana pamięć podręczna”).
Po czterech latach spędzonych w obszarze przemieszczania sterowników jądra Linux, zram został wprowadzony do głównego jądra systemu Linux w wersji 3.14, wydanej 30 marca 2014 r. Od jądra systemu Linux w wersji 3.15 i nowszych (wydanego 8 czerwca 2014 r.) zram obsługuje wiele strumieni kompresji i wiele algorytmów kompresji . Algorytmy kompresji obejmują DEFLATE ( DEFLATE
), LZ4 ( LZ4
i LZ4HC
"wysoką kompresję"), LZO ( LZO-RLE
"kodowanie długości przebiegu"), Zstandard ( ZSTD
), 842 ( 842
). Od jądra 5.1 domyślnie jest to LZO-RLE
, które ma równowagę szybkości i współczynnika. Podobnie jak większość innych parametrów systemowych, algorytm kompresji można wybrać za pomocą sysfs .
Kiedy jest używany jako skompresowana przestrzeń wymiany, zram jest podobny do zswap , który nie jest dyskiem RAM ogólnego przeznaczenia, ale raczej skompresowaną pamięcią podręczną wewnątrz jądra dla stron wymiany. Do czasu wprowadzenia CONFIG_ZRAM_WRITEBACK
jądra w wersji 4.14, w przeciwieństwie do zswap, zram nie mógł używać urządzenia pamięci jako magazynu zapasowego, więc nie był w stanie przenieść rzadziej używanych stron na dysk. Jednak zswap zawsze wymaga magazynu zapasowego, co nie ma miejsca w przypadku zram.
Kiedy jest używany do wymiany, zram (jak zswap) pozwala Linuksowi na bardziej efektywne wykorzystanie pamięci RAM, ponieważ system operacyjny może wtedy przechowywać więcej stron pamięci w skompresowanej wymianie, niż gdyby ta sama ilość pamięci RAM została użyta jako pamięć aplikacji lub dysk Pamięć podręczna. Jest to szczególnie skuteczne na komputerach, które nie mają dużo pamięci. W 2012 roku Ubuntu krótko rozważało domyślne włączenie zram na komputerach z niewielką ilością zainstalowanej pamięci RAM. Z tego samego powodu Fedora domyślnie włączyła zram, począwszy od wydania 33.
Skompresowana przestrzeń wymiany za pomocą zram i zswap oferuje również korzyści dla mniej wydajnych urządzeń sprzętowych, takich jak urządzenia wbudowane i netbooki . Takie urządzenia zwykle wykorzystują pamięć masową opartą na pamięci flash , która ma ograniczoną żywotność ze względu na wzmocnienie zapisu , a także wykorzystują ją do zapewnienia przestrzeni wymiany . Zmniejszenie zużycia wymiany w wyniku korzystania z zram skutecznie zmniejsza zużycie takiej pamięci masowej opartej na pamięci flash, co powoduje wydłużenie jej żywotności. Ponadto użycie zram skutkuje znacznym zmniejszeniem operacji we /wy w systemach Linux, które wymagają wymiany.
Zobacz też
Bibliografia
Zewnętrzne linki
- Dokumentacja jądra zram Linux i strona podręcznika zramctl(8)
- Compcache, skompresowane buforowanie dla systemu Linux
- Compcache: skompresowana wymiana w pamięci , 26 maja 2009, LWN.net, Nitin Gupta
- Kompresja pamięci w jądrze , 3 kwietnia 2013, LWN.net, Dan Magenheimer
- The Compression Cache: Virtual Memory Compression for Handheld Computers , 16 marca 2000, Michael J. Freedman