Nieprawidłowe użycie zamiany TL; DR to tylko leniwy hack, który pokazuje słabe zrozumienie podsystemów pamięci i brak podstawowych umiejętności administrowania systemami. Projektowanie usług infrastrukturalnych i niezrozumienie tych systemów zakończy się niepowodzeniem.
Mam więc komentarz na ten temat, wydaje mi się to raczej lenistwem niż cechą lub wymaganiem. Jest absolutnie możliwe, aby poprawnie obsługiwać swap, analizować pamięć i określać, jak właściwie korzystać z podsystemu pamięci bez uderzania w swap. Wokół tego zbudowana jest litania narzędzi i możesz zagwarantować, że proces nie wykorzysta swap dość łatwo, więc punkt wydajności jest nieprawidłowy. To po prostu leniwe kodowanie, aby nie wkładać tego oprzyrządowania, a ogólnie całkowite usunięcie swapów będzie ze szkodą dla wydajności systemu. Kluczem tutaj jest prawidłowe korzystanie z niego. Zgadzam się, że zamiana zasobników na dyski wpłynie na wydajność, jednak istnieje wiele rzeczy, które należy wymienić na dysk.
Ponadto jądro Linuksa zostało zaprojektowane tak, aby wykorzystywać swap, a całkowite wyłączenie go będzie miało negatywne konsekwencje. Lepszym sposobem na poradzenie sobie z tym byłoby przypięcie zasobników do pamięci głównej i niedopuszczenie do zamiany na dysk, zmniejszenie ciśnienia pamięci podręcznej VFS, aby nie zamieniało się, chyba że jest to absolutnie konieczne, a nawet wtedy można spowodować zawieść MALLOC w przypadku wyczerpania pamięci głównej.
W zależności od procesów w pojemnikach, w których uszkodzenie pojemnika lub jego zabicie przez zabójcę OOM może spowodować katastrofalne skutki. Rozumiem jednak, że procesy uruchomione w tych kontenerach powinny idealnie być bezstanowe i efemeryczne, ale w ciągu 20 lat działania systemów nie widziałem, by wszyscy w 100% stosowali zamierzony projekt.
Co więcej, nie uwzględnia to przyszłych technologii, takich jak pamięć nieulotna, oraz nowszych systemów pamięci, takich jak intel xpoint, które można wykorzystać do znacznego rozszerzenia pamięci głównej za pomocą hybrydowych systemów dyskowych / pamięci. W tego rodzaju systemach mogą używać ich bezpośrednio jako dodatkowej pamięci głównej lub wykorzystywać pliki wymiany w celu rozszerzenia pamięci głównej z niewielkim wpływem na wydajność.