Partycją systemu Linux przechowującą tymczasowo dane w przypadku braku wolnej pamięci RAM jest
A. var
B. swap
C. sys
D. tmp
Pytanie z egzaminu CKE, styczeń 2018 (arkusz E.12-X-18.01).
Partycja swap to obszar wymiany używany przez Linux wtedy, gdy zaczyna brakować wolnej pamięci RAM albo gdy jądro systemu uzna, że część rzadko używanych stron pamięci można przenieść na dysk. Technicznie jest to element mechanizmu pamięci wirtualnej, więc nie służy do normalnego przechowywania plików użytkownika, tylko do tymczasowego odkładania danych z RAM. W praktyce swap może być osobną partycją, plikiem wymiany, a czasem także częścią konfiguracji szyfrowanej. Moim zdaniem warto pamiętać, że swap nie zastępuje RAM, bo dysk SSD, a tym bardziej HDD, jest dużo wolniejszy od pamięci operacyjnej. Dobra praktyka administracyjna jest taka, żeby rozmiar swap dobrać do zastosowania systemu: inaczej dla laptopa z hibernacją, inaczej dla serwera z dużą ilością RAM. Stan swap można sprawdzić poleceniami free -h, swapon --show albo top. Jeżeli system intensywnie korzysta ze swap, zwykle oznacza to za mało RAM, źle dobrane usługi albo aplikację, która zużywa pamięć bez kontroli. W Linuksie jest to bardzo praktyczny temat, bo od poprawnej konfiguracji swap zależy stabilność pracy systemu pod obciążeniem.
W tym pytaniu łatwo pomylić nazwy katalogów systemowych z mechanizmem pamięci wirtualnej, bo w Linuksie wiele nazw jest krótkich i wyglądają podobnie. Katalog var, zwykle zapisywany jako /var, przechowuje dane zmienne systemu: logi, kolejki poczty, pliki baz pakietów, cache usług i inne informacje, które zmieniają się podczas pracy. Nie jest jednak miejscem, do którego jądro odkłada strony pamięci, gdy brakuje RAM. To bardziej przestrzeń robocza usług i demonów systemowych, a nie rozszerzenie pamięci operacyjnej. Katalog sys, czyli /sys, jest częścią wirtualnego systemu plików sysfs. Udostępnia informacje o jądrze, urządzeniach, magistralach i sterownikach. Administrator może tam podejrzeć parametry sprzętu lub konfiguracji jądra, ale nie jest to partycja do przechowywania danych użytkowych i tym bardziej nie pełni roli bufora pamięci RAM. Z kolei tmp, najczęściej /tmp, kojarzy się z tymczasowością, więc bywa mylący. Faktycznie aplikacje zapisują tam pliki tymczasowe, np. podczas instalacji programu albo pracy edytora, ale są to zwykłe pliki robocze. Czasem /tmp może być nawet montowany jako tmpfs, czyli w RAM, co jeszcze bardziej pokazuje, że nie chodzi o przechowywanie danych przy braku pamięci. Mechanizmem właściwym dla takiej sytuacji jest swap. Z mojego doświadczenia uczniowie często wybierają tmp, bo słowo tymczasowo brzmi bardzo przekonująco, ale w administracji Linux trzeba rozróżniać tymczasowe pliki od tymczasowego przenoszenia stron pamięci przez jądro systemu.