Wczoraj kopiowałem pojedynczy plik o pojemności 8 GB na dysk USB o niskiej prędkości zapisu 7 MB / s, a moja pamięć RAM wynosi 3 GB. Podczas kopiowania system zamarł, do tego stopnia, że nie mogłem nawet przesunąć kursora.
Udało mi się zalogować do konsoli tekstowej i uruchomiłem iotop
, to pokazało, że proces o nazwie kswapd0
zabiera 99,99% IO.
Czy istnieją obejścia, więc kopiowanie dużego pliku nie powoduje, że mój system nie nadaje się do użytku?
Odpowiedzi:
Zgodnie z tym raportem błędu rozwiązałem go, dodając następujące wiersze
do /etc/sysctl.conf
i bieganie
źródło
dirty_background_bytes
idirty_bytes
używają bezwzględnych wartości bajtów. Rozwiązałem ten problem z drugą odpowiedzią, ale aby była trwała, dodaj jąsysctl.conf
, zobacz tę odpowiedź . Tak więc, używając wartości procentowych, popraw je podczas aktualizacji pamięci.Natrafiłem na podobny problem. Mój jest 64-bitowy Ubuntu 14.04. Po długiej walce znalazłem odpowiedź, która rozwiązuje mój problem. Dla łatwego użycia dodałem poniższe polecenia użyte w wyżej wymienionej odpowiedzi . Sprawdź odpowiedź, aby uzyskać szczegółowe wyjaśnienie.
Po użyciu powyższego polecenia system zaczął normalnie działać przy kopiowaniu plików.
Podziękowania dla @Rmano .
źródło
Mam podobny problem z zawieszaniem się systemu podczas kopiowania na dysk flash. Przesłałem raport o błędzie na ten temat: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1267648
W ramach obejścia stwierdziłem, że wyłączenie wymiany całkowicie eliminuje problem.
źródło
Tak, istnieją ustawienia jądra, które można dostosować, określając, ile danych należy oznaczyć jako zapisane, zanim zostaną zapisane na dysk. Zajrzyj tutaj, aby uzyskać dość wyczerpujący ich opis. W szczególności będziesz chciał znaleźć wartość dirty_ratio, która działa dobrze dla ciebie (jest na ogół zbyt wysoka dla komputera stacjonarnego / laptopa, ale nie ma jednej magicznej liczby, która działałaby dla wszystkich).
źródło
Miałem podobne problemy podczas kopiowania plików na
exfat
dysk. Miałem mniej problemów z użyciemext4
systemu plików na dysku twardym USB.źródło
Właśnie miałem dokładnie ten sam problem (w 2019 r.) Na Ubuntu 19.10, podczas kopiowania dużej liczby plików z dysku USB na dysk SATA. Oba systemy plików to ext4. Kiedy wyłączyłem swap, problem zniknął. Wygląda to na jakiś błąd w alokacji pamięci dla buforów dyskowych - najwyraźniej jądro próbuje przydzielić jak najwięcej pamięci dla buforów dyskowych, jak to możliwe w takiej sytuacji, co nie ma sensu (tworzenie buforów dyskowych w zamianie ...), lub po prostu błędnie oblicza rozmiar pamięci, niż można użyć do buforowania ...
źródło