Gnome, файлы копии наутилуса к USB останавливаются в 100% или рядом

Если Ваш маршрутизатор имеет внешний IP-адрес, и Ваши машины на LAN имеют локальные адреса (например, 192.168.x.x) необходимо настроить перенаправление портов от WAN до LAN (порт 22 для SSH). С другой стороны, можно установить машину как демилитаризованную зону (демилитаризованная зона), но это не рекомендуется, так как она выставляет машину полностью.

29
24.01.2015, 16:38
2 ответа

Причина, по которой это происходит, что в том, что программа говорит: «Напишите эти данные», и ядро ​​Linux копирует его в буфер памяти, который входит в очередь, чтобы перейти на диск, а затем говорит: «ОК, Готово". Таким образом, программа думает, что она скопировала все. Затем программа закрывает файл, но вдруг ядро ​​заставляет его ждать, пока этот буфер выдвинут на диск.

Итак, к сожалению, программа не может сказать вам, сколько времени потребуется, чтобы промыть буфер, потому что он не знает.

Если вы хотите попробовать какие-то уловки пользователя, вы можете уменьшить размер буфера, который использует Linux, установив параметр ядра VM.DIRTY_BYTES к чему-то вроде 15000000 ( 15 МБ). Это означает, что приложение не может получить более 15 МБ в преддверии его фактического прогресса. (Вы можете изменить параметры ядра на лету с sudo sysctl vm.dirty_bytes = 15000000 , но заставляя их оставаться на перезагрузке, требует изменения файла конфигурации /etc/sysctl.conf , который может Будьте специфичны для вашего дистрибутива.)

Побочный эффект состоит в том, что ваш компьютер может иметь более низкую пропускную способность писать данные с помощью этой настройки, но в целом я считаю, что это полезно видеть, что программа работает долго, пока она пишет Множество данных против путаницы имении программы, по-видимому, выполняются с его работой, но система сильно отстает, так как ядро ​​делает фактическую работу. Установка Dirty_Bytes До разумного небольшого значения также может помочь предотвратить отсутствие невозможности вашей системы, когда вы низко в свободной памяти, и запустите программу, которая внезапно пишет много данных.

Но, не устанавливайте это слишком маленьким! Я использую 15 МБ в качестве приблизительной оценки, что ядро ​​может промыть буфер до нормального жесткого диска в 1/4 секунды или меньше. Это держит мою систему от чувства «отставать».

39
27.01.2020, 19:38

Поздно на вечеринку, но я использую обходной путь для копирования больших файлов на USB-накопитель rsync.

Основной синтаксис, который я всегда успешно использую, следующий:

rsync -avh /home/user/Documents /media/user/myusbstick

Предупреждение:Если вы хотите скопировать всю папку «Документы», используйте синтаксис. Но если вы хотите скопировать только файл, а не папку , вам нужно добавить косую черту. Вот так:

rsync -avh /home/user/Documents/ /media/user/myusbstick

Конечно, если вы хотите скопировать файл:

rsync -avh /home/user/Documents/file1 /media/user/myusbstick

для нескольких файлов

rsync -avh /home/user/Documents/file1 /home/user/Documents/file2 /media/user/myusbstick

Этот синтаксис работает для любой папки/файла, который вы хотите скопировать.

Я понимаю, что это не настоящее решение, но это простой и безопасный способ избежать надоедливых проблем.

3
10.09.2020, 14:20

Теги

Похожие вопросы