Jak zapobiec zawieszaniu się komputera, gdy zaczyna się zamieniać?

4

Pracuję jako programista Java, więc często muszę uruchamiać kilka programów jednocześnie, które zużywają dużo pamięci.

Kiedy moja pamięć jest pełna i Linux zaczyna się zamieniać, mój komputer prawie się zawiesza. Widzę, że mocno zapisuje się na dysku twardym i wszystko reaguje naprawdę powoli, często wcale. Poruszanie myszą w X czasem czasami nie działa, czasami ma opóźnienie kilku sekund, kliknięcie zwykle ma opóźnienie kilku minut. Czasami można przejść na TTY (z dużym opóźnieniem), tam zwykle mogę pisać bez opóźnień, ale kiedy próbuję się zalogować, po wpisaniu nazwy użytkownika pojawia się kilka minut, a następnie pojawia się monit o hasło, i zwykle pojawia się komunikat o błędzie informujący o przekroczeniu limitu czasu logowania. Tak więc jedyną możliwością jest zwykle ponowne uruchomienie komputera.

Zauważyłem, że inne intensywne zapisywanie na dysku twardym znacznie spowalnia mój komputer. Czasami używałem rsync do ograniczenia przepustowości, kiedy kopiowałem pliki na własnym komputerze, ponieważ w przeciwnym razie system byłby prawie bezużyteczny.

Jak to może być? W tej chwili bardziej przydatne wydaje mi się całkowite wyłączenie wymiany. Może to spowodować awarię niektórych procesów, co jest niefortunne, ale alternatywą jest obecnie zawieszenie wszystkich procesów przez wyłączenie komputera.

Używam Gentoo Linux z jądrem 3.6.2-gentoo, mam partycję wymiany 10 GB na dysku twardym.

cdauth
źródło
1
To jest interesujące. Linux nie zaczyna się zamieniać, kiedy pamięć się zapełnia, stopniowo przesuwa się coraz bardziej w miarę zapełniania się pamięci. Zobacz swappiness . Czy wszystko uderza od razu, czy spowolnienie jest stopniowe?
Darth Android
Czy wiesz, jaki dysk tam masz i jaką wersję SATA? Jestem ciekawy, czy jest to ograniczenie przepustowości lub dysku bardziej niż zamiana.
nerdwaller
Zauważ, że zachowanie stopniowego stronicowania ma na celu zapobieganie właśnie tego rodzaju problemowi ... poprawianie zamiany może prowadzić do naprawdę niskiej wydajności naraz. Nie chodziło o to, że Darth zakładał ulepszenie, tylko FYI, poprawa zamiany nie jest odpowiedzią. Znalezienie winowajcy z czymś takim jak iotop guichaz.free.fr/iotop może pomóc.
mgjk,
Miałem podobny problem, w którym podstawowy komputer i5 z
GB pamięci
nerdwaller: lspci mówi 00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06). hdparm mówi coś o tym Gen1 signaling speed (1.5Gb/s), nie mogę znaleźć nic innego, co powiedziałoby cokolwiek o prędkości.
cdauth

Odpowiedzi:

1

Zamiana jest bardzo złą rzeczą dla każdego systemu UNIX / Linux. Jak widzieliście, potrzeba poważnego zaangażowania zasobów w obsługę wymiany, szczególnie w przypadku systemu dyskowego. W końcu system przenosi pamięć tam iz powrotem na dysk, aby inne programy korzystające z pamięci mogły działać.

Jeśli po przeanalizowaniu wszystkich uruchomionych programów w systemie i usunięciu ich nadal wymieniasz, najlepszym rozwiązaniem jest dodanie więcej pamięci do komputera.

mdpc
źródło
lub w celu ustalenia przyczyny przed rzuceniem większej ilości sprzętu w problem. Co może być bardziej spowalniające we / wy niż ze stronicowania.
Hennes,