Blog (57)
Komentarze (10k)
Recenzje (1)

SSD na miętowo

@BerionSSD na miętowo29.07.2022 23:57

Domyślnie tak jak Windows, Linux sporo maluje po pamięci masowej. I choć w przypadku HDD czyli dysku twardego, problem jest marginalny, tak w przypadku SSD a tym bardziej kart pamięci, dobrą praktyką jest ograniczenie zapisu, który skraca jego żywotność. Im mniej cykli nadpisywania danej komórki tym lepiej – tym bardziej że już od dawna nie można wierzyć podawanym przez producenta wartościom MTBF i przybliżonej oczekiwanej ilości petabajtów jakie hipotetycznie może obrócić SSD przed zgonem.

Wszystkie poniższe zmiany pozwolą zaoszczędzić łącznie od kilkuset GB do nawet 1TB rocznie.

RAMdyski

Jednym ze sposobów jaki warto rozważyć jest przerzucenie tymczasowych danych do pamięci operacyjnej, z której można wydzielić dany kawałek imitując pamięć masową. Można to zrobić na dwa sposoby: montując taką przestrzeń jako ramfs lub jako tmpfs. Pierwszy zakłada że wielkość jest równa dostępnej RAM, drugi używa limitu. Bezpieczniejszy jest tmpfs ponieważ nie doprowadzisz do sytuacji, kiedy RAM się skończy dla innych istotnych operacji systemu, a co najwyżej kiedy skończy się ilość z wydzielonego obszaru co doprowadzi w najgorszym przypadku do zawieszenia się aplikacji lub środowiska graficznego, a nie całego Linuksa.

Aby tzw. ramdisk miał jakikolwiek sens to musisz mieć wystarczająco dużo pamięci operacyjnej i dla środowiska i dla danych, które chcesz tam umieszczać, a więc musisz wiedzieć i rozumieć dlaczego taki a śmaki program wrzuca tam i tam, taki a taki plik, o takiej i takiej wielkości i że do takiej, a takiej wielkości może wzrosnąć jego waga. Brzmi lakonicznie, ale nie da się szczegółowo opisać wszystkich przypadków (rzecz jasna sam wszystkich nawet nie znam). Na moim przykładzie: mam sumarycznie 8GB RAM, mój Mint ciągnie ~1GB, a obłożony Lisem i kilkoma programami w porywach 3GB (możesz to sprawdzić poleceniem free -g), a więc wciąż około 4 do 5 gigabajtów leży odłogiem. Na moje potrzeby, ramdyskom przyznałem łącznie 3GB bo więcej też nie użyję, a wolę mieć trochę RAM w zapasie tak aby w razie czego nie zaczął żonglować ze swapem. Z drugiej strony, gdybym np. malował ilustracje do książek (Krita) lub gdybym obrabiał zdjęcia w RAW (DarkTable), to te wielkości mogłyby mi już nie wystarczyć. Tak że wszystko zależy od tego do czego się używa komputera.

Aby montować ramdysk przy starcie systemu, edytuj plik "/etc/fstab" (oczywiście wymagane prawa roota).

Polecam dwa, choć teoretycznie wystarczyłby jeden na "/tmp". Jednakże w poniższej konstelacji przed aktualizacją dystrybucji lub jej upgrade’m (które mogą przekroczyć rozmiar ramdysku – a w moim przypadku na pewno), można go łatwo na ten czas wyłączyć, po prostu komentując linię znakiem # w "fstab", odmontować i zamontować ponownie wszystkie punkty (sudo mount -a). Z kolei drugi wraz z symlinkami (o tym za chwilę) zostawić w spokoju.

tmpfs /tmp tmpfs nodev,nosuid,noatime,mode=1777,size=2G 0 0

tmpfs /mnt/ramdisk tmpfs noexec,noatime,rw,size=1G 0 0

Na Linux Mint katalog "/mnt/ramdisk" już istnieje, ale jeśli go nie masz to powinieneś go utworzyć, inaczej mount nie będzie wiedział gdzie zamontować tmpfs. Ta konkretna lokalizacja nie jest obowiązkowa, może być dowolna, podobnie jak nazwa folderu, ale pamiętaj, że wpis w "fstab" musi tam prowadzić.

Nie zapomnij też usunąć zawartości prawdziwego "/tmp" (CTRL+H odkrywa pliki i foldery z kropką w nazwie) by następnie uruchomić system ponownie lub wklepać sudo mount -a.

Znaczenie parametrów znajdziesz w dokumentacji mount. Offline, wpisując w terminalu man mount lub online np. tutaj. Jeśli nie wiesz do czego służą, zostaw je takie jakie proponuję ja (oczywiście poza "size", który determinuje rozmiar ramdysków, a który dobierasz względem własnych potrzeb i możliwości).

Cache

Do ramdysku warto wrzucić "/home/<użytkownik>/.cache/". Używany jest głównie przez Cinnamon, ale też i różne „zwykłe” programy. A więc utwórz folder "/mnt/ramdisk/.cache/", usuń ten folder w katalogu użytkownika i zrób link symboliczny (naturalnie nazwę katalogu użytkownika podajesz własną):

ln -s /mnt/ramdisk/.cache /home/<użytkownik>/

Nemo (domyślny manager plików) linki symboliczne wyświetla ze strzałką – i tak teraz powinien wyglądać ten folder.

Po wyłączeniu komputera, RAM się czyści a więc cała zawartość "/mnt/ramdisk/" przestaje istnieć. A co za tym idzie, po ponownym uruchomieniu Linuksa, ".cache" z ramdysku zniknie, link symboliczny będzie martwy, a Cinnamon się zawiesi. Aby temu zapobiec, musisz przy każdym uruchomieniu systemu, tworzyć folder ".cache" w ramdysku. I tutaj są różne szkoły: możesz napisać usługę dla systemd (lub skrypt startowy jeśli używasz init), możesz dopisać polecenie w cronie, albo możesz tak jak ja napisać… aktywator. :P

Przejdź do "Preferencje"→"Programy startowe", i dodaj polecenie klikając w ikonę z plusem: mkdir /mnt/ramdisk/.cache

Opóźnienie zerowe, komentarz jak i nazwa w menu (czyli wg. tłumacza "Imię i nazwisko" ;)) może być dowolna. Aktywator trafi do "/home/<użytkownik>/.config/autostart/<nazwa>.desktop".

Firefox

Do ramdysku można również wrzucić "/home/<użytkownik>/.mozilla/", czyli katalog użytkownika i ustawień Firefox’a. Nie wszystkie dane są tutaj tymczasowe, są takie które każdy chciałby zachować (ustawienia, zakładki, hasła, listy blokad reklam etc.). Więc albo zrezygnuj z pomysłu umieszczenia całego ".mozilla" w ramdysku, albo zrób tak jak ja – czyli przygotuj „folder matkę”, który będzie za każdym razem kopiowany w miejsce do którego kieruje dowiązanie symboliczne. Oczywiście za każdym razem kiedy system operacyjny jest uruchamiany, wszystkie zmiany z poprzedniej sesji nie zostają zachowane. Jeśli więc np. dodasz jakąś nową zakładkę to będziesz musiał eksportować plik z zakładkami i wrzucić go do folderu z pre-konfiguracją bo inaczej zniknie po restarcie Mięty. To dość osobliwy patent, ale ja rzadko zmieniam te dane, więc na moje potrzeby takie egzotyczne rozwiązanie się sprawdza.

A więc najpierw zmień nazwę ".mozilla" na np. ".mozilla_teleport". ;) Będzie to folder-wzór, za każdym razem kopiowany do ramdysku. Jeśli chcesz poświęcić trochę czasu na jego odchudzenie ze śmieci, polecam swoje stare poradniki na DobreProgramy. Poniżej przykład z katalogu lisa pozbawionego śmieci (ale też bez "key4.db" z hasłami bo nie używam i bez "search.json.mozlz4" z ustawieniami wyszukiwarek bo mam tylko jedną).

Stwórz link symboliczny:

ln -s /mnt/ramdisk/.mozilla /home/<użytkonwnik>/

I aktywator:

cp -r /home/<użytkownik>/.mozilla_teleport /mnt/ramdisk/.mozilla

Ustaw opóźnienie na sekundę lub dwie ponieważ nie jest to najważniejsza czynność na świecie, a i tak szybciej nie uruchomisz Firefox’a.

Chromorodzina

Nie używam Chrome ani żadnej innej „przeglądarki chromopodobnej”, więc nie wiem czy można w podobny sposób tak jak „lisa”, oddelegować profil do ramdysku. Możliwe że w przyszłości uzupełnię ten rozdział.

LOGi systemowe

Wszystkie „logi”, które lądują w "/var/log/" można wrzucać do RAM. Prawdopodobnie trzeba montować z mode=0775 i suid dla syslog. Ja jednak wybrałem ograniczenie dla samego systemd, który generuje mi najwięcej i najcięższych, ale za to łatwo go zakneblować. Oczywiście liczę się z tym, że w przypadku problemów, bez log-ów prawdopodobnie nie będzie łatwo odnaleźć przyczyny. Coś za coś.

Otwórz plik "/etc/systemd/journald.conf" i odkomentuj linie ze "Storage" (który przestaw z "auto" na "volatile") i "Compress" (ustaw na tak). Dzięki tej zmianie, logi generowane przez journald będą tymczasowe i zajmować mniej. Zapisz zmiany, restartuj i gotowe.

Jeśli masz inne pomysły lub uwagi dotyczące uciszania Linuksa, podziel się nimi w komentarzu.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.