Зависание файловых менеджеров на сетевых дисках
Модератор: Модераторы разделов
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Зависание файловых менеджеров на сетевых дисках
Если скорость копирования/чтения на сетевой диск низкая, то файловые менеджеры зависают. Причем в случае с Spacefm зависает не только окно с открытым сетевым диском, но и другие окна, а также его рабочий стол ~spacefm --desktop
Есть ли решение этой проблемы ?
Есть ли решение этой проблемы ?
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Зависание файловых менеджеров на сетевых дисках
Есть два решения: 1) использовать файловый менеджер, который не зависает, или 2) не использовать файловый менеджер.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Зависание файловых менеджеров на сетевых дисках
Можно подключать сетевой диск лишь при необходимости.
Re: Зависание файловых менеджеров на сетевых дисках
На загрузку процессора смотрели?
У меня как то не виснет, хотя по умолчанию использую Spacefm, он может виснуть только когда диск на котором ОС крутится вместе со всякими home, var, сильно загружен всяким копированием, тогда время отклика всей системы вполне может тормозить.
Ну и если память сильно загружена, тогда тоже такое может быть происходить, например если при копировании идет кеширование.
Только два дня назад пере собирал gentoo с помощью distcc и копировал файлы несколько гиг с одного компа на другой по NFS, из под SpaceFM. Тормозов как то не заметил, только я его не использую в качестве десктопа, просто как файловый менеджер. Но тут я соединял через сетевой кабель, а там у меня пропускной скорости с большим запасом.
Как вариант можно попробовать запустить SpaceFM с низким приоритетом и посмотреть как он будет себя вести, так как системных ресурсов станет потреблять поменьше.
Shell
$ nice -+5 spacefm
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
Ну логично, вот только какой ФМ использовать (из десктопных с GUI я имею в виду) чтоб ничего не зависало (rox-fm, emelfm, и gentoo), а также аналоги нортон коммандера не вариант. В spacefm море полезных возмжностей, а также он не требует красноглазия с консолью чтоб настроить монтирование дисковых носителей. В нем все из коробки работает. Вот только с сетевыми дисками постоянные глюки.Bizdelnick писал: ↑17.10.2018 18:30Есть два решения: 1) использовать файловый менеджер, который не зависает, или 2) не использовать файловый менеджер.
Ну я так и делаю.
У меня ВМ Icewm всегда показывает загрузку системы. CPU на нуле, ОЗУ свободно 10 гб.
Забыл сказать, что зависание также есть на примонтированных через ptp фотоаппаратах и андроид через mtp. Это если в открытом каталоге большой фильм, а в фм включены превьюшки.
ormorph, если есть фотоаппарат с sd-картой, попробуй на него скинуть двухгиговый фильм и открыть каталог с фильмом в spacefm (включив превью). Просто интересно, это только у меня зависает или нет.
Я вот одного не пойму. Эта проблема наблюдается десятки лет, неужели за столько времени не получилось реализовать монтирование сетевых файловых систем отдельными процессами, чтоб можно было вырубать или перемонтировать. И опционально приделать таймаунт, если удаленный хост не отвечает.
Сделали бы хоть за деньги. Задолбало же, тем более что в винде этот вопрос уже решен.
Последний раз редактировалось UriyZenkov 18.10.2018 10:57, всего редактировалось 1 раз.
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
А когда таким образом зависает ФМ, то ты сидишь за компом без рук. Надо открыть каталог, получить доступ к файлам, а файловый менеджер нельзя ни запустить заново ни вырубить командой killall -s 9. В крайнем случае перезагрузить компьютер, тут хорошо что инит не Systemd, a Systemv, ибо пришлось бы три часа ждать перезагрузки. Остается только принудительно вырубить сетевой диск командой umount -l или выдернуть сетевой кабель. Можно конечно установить другой ФМ для подобных случаев, но устанавливать дополнительный ФМ специально для того момента, когда основной завис и не реагирует на killall -s 9, сами понимаете -- смешно. Я понимаю, что ФМ в таких случаях на самом деле не зависает, а всего лишь настолько внимательно ждет ответов от удаленного хоста, что даже не обращает внимание ни на что другое. Но можно же решить эту проблему ?
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
Если у этого ФМ перестают отвечать даже другие вкладки и окна, то подобную криворукость уже ничем не исправить. Разве только монтировать ФС с опцией soft и timeout (если речь идёт о NFS), хотя это спасет разве что в случае полного отсоединения.
Re: Зависание файловых менеджеров на сетевых дисках
Похоже что только у вас такое, у меня превьюшка показалась практически мгновенно, запускал mkv 2.2 гига.UriyZenkov писал: ↑18.10.2018 10:25ormorph, если есть фотоаппарат с sd-картой, попробуй на него скинуть двухгиговый фильм и открыть каталог с фильмом в spacefm (включив превью). Просто интересно, это только у меня зависает или нет.
С MTP и андроид тоже не было проблем. Для монтирования MTP обычно использую simple-mtpfs
Обычно это ядерная проблема, у меня на некоторых ядрах emerge бывало оставляло не убиваемый зомби процесс, когда родитель был уже убит. Причем происходило это стабильно при сборке определенных пакетов.а файловый менеджер нельзя ни запустить заново ни вырубить командой killall -s 9
У меня OpenBox стоит, spacefm в качестве десктопа не использую, но он у меня настроен по умолчанию файловым менеджером. Ну а если бы мне понадобились иконки, то наверное остановился на использовании idesk.
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
Это не проблема, а штатная обработка непрерываемого системного вызова (либо особенность драйвера, к которому задача обратилась, скажем, пытаясь прочитать данные, и который перевел ее в непрерываемое состояние).
Проблема же автора в том, что его ФМ, видимо, написан так, что не ожидает, что ядро его может надолго заблокировать, да ещё и запускает все свои компоненты в одном процессе/потоке.
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Зависание файловых менеджеров на сетевых дисках
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
Re: Зависание файловых менеджеров на сетевых дисках
Кто же его знает, у меня сборка spacefm на gtk2, версия 1.0.5. Ядро 4.18.7-rt-r5 реал тайм. На другом компе пока еще 4.16, по позже пересоберу более новое.
Openbox на ноуте запускаю с приоритетом 3 (низкий), так все проги меньше ресурсов используют, особенно видео. На стационарнике приоритет стандартный 0, но чтобы на нем зависло это большая редкость, было только когда оперативки было мало, но сейчас добавил, так вообще проблем нет.
Запускается еще compton с параметрами:
Shell
compton -b --backend glx --vsync opengl-swc &
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
По-моему, ormorph совсем не про эту фичу писал.
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
а какие GUI ФМ многопочные ?
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
UriyZenkov
Понятия не имею, редко ими пользуюсь. Но у GNOME Files (Nautilus) не замечал такого, чтобы одно зависшее на ожидании окно вешала все остальное.
Понятия не имею, редко ими пользуюсь. Но у GNOME Files (Nautilus) не замечал такого, чтобы одно зависшее на ожидании окно вешала все остальное.
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
В Nautilus такого нет, но он (и на нем основанные ФМ) очень убогий и неудобный. В нем даже нет функции массового переименования и продвинутой функции поиска.
Re: Зависание файловых менеджеров на сетевых дисках
Хм вопрос интересный, те которые порождают новые процессы, т.е. каждый экземпляр ФМ запускается в новом процессе, ну и порождение новой вкладки тоже создает новый поцесс. Можно проследить по команде ps.
На счет ФМ не знаю, но браузер Firefox точно многопоточный, это можно увидеть когда запускается новая вкладка.
У меня сейчас стоят только pcmanfm и spacefm его форк, но сильно ушел от своего собрата. Оба они одно поточные.
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
А с копированием файла 2гига через фотоаппарат (протокол ptp) у вас как ? Монтирую фотоаппарат так:
gphotofs /mnt
Копирование такого файла зависает примерно две минуты. CP забирает себе консоль, ничего не делает и не реагирует на ctrl+z и +c. И только потом начинает копировать
gphotofs /mnt
~$ ls /mnt
store_00010001
~$ cd store_00010001
bash: cd: store_00010001: Нет такого файла или каталога
~$ cd /mnt/store_00010001
/mnt/store_00010001$ ls
DCIM
/mnt/store_00010001$ cd DCIM
/mnt/store_00010001/DCIM$ ls
140_2412 142_3112 144_2202 146_0603 148_2307 150_2209
141_2812 143_1902 145_0203 147_0705 149_2708 151_1710
/mnt/store_00010001/DCIM$ cd 151_1710
/mnt/store_00010001/DCIM/151_1710$ ls
MVI_0002.MOV
/mnt/store_00010001/DCIM/151_1710$ cp MVI_0002.MOV ~/Загрузки
В Наутилусе такой проблемы нет. Может есть какая другая команда для монтирования ? Наутилус, как я понял, монтирует так:
gvfs-mount "gphoto2://[usb:002,005]/"
но я не понимаю как в консоли зайти в каталог фотоаппарата.
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
Оно монтируется в /run/user/1000/gvfs
но копирование оттуда также подвисает
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
Чего бы ему не подвисать? MTP уже ничего не поможет: убогая попытка Microsoft конкурировать с iTunes, каким-то чудом (видимо, за неимением другого) распространившаяся по миру.
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
Но в наутилусе же все норм.
К фотоаппарату я через PTP подключаюсь (gphotofs /mnt)
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
То что не подвисает UI говорит лишь о том, что у Nautilus правильная архитектура, а не о том, что работа с MTP происходит быстрее и без блокировок.
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
в консоли команда cp тоже подвисает
- serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
Разумеется она подвисает. И ей это простительно.
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
Чем же тогда в консоли копировать из ptp, чтоб не подвисало ?
Re: Зависание файловых менеджеров на сетевых дисках
Хм ну а если приоритет понизить?
Так как при копировании из консоли тоже подвисает, значит сборка ядра такая, раз уж процесс захватывает все управление.
В Spacefm можно добавить событие в инструментах, например добавить запуск терминала, либо запуск скрипта и выставить комбинацию клавиш на запуск команды.
У меня например можно запустить терминал с текущей директории, команда:
Приоритет понижается командой:
Отрицательное значение повышает приоритет, положительное понижает...
Так как при копировании из консоли тоже подвисает, значит сборка ядра такая, раз уж процесс захватывает все управление.
В Spacefm можно добавить событие в инструментах, например добавить запуск терминала, либо запуск скрипта и выставить комбинацию клавиш на запуск команды.
У меня например можно запустить терминал с текущей директории, команда:
Shell
xfce4-terminal --working-directory=%d
Shell
nice -+5 <команда>
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Зависание файловых менеджеров на сетевых дисках
А в чём проблема подождать? Или cp тоже вешает всю систему?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Зависание файловых менеджеров на сетевых дисках
На время выполнения системного вызова это вряд ли повлияет, и уж точно его не уменьшит.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Зависание файловых менеджеров на сетевых дисках
Кто знает, может ядро тогда все таки станет передавать выполнение процессу с более высоким приоритетом.Bizdelnick писал: ↑19.10.2018 14:34На время выполнения системного вызова это вряд ли повлияет, и уж точно его не уменьшит.
-
- Сообщения: 439
- ОС: Devuan GNU/Linux
- Контактная информация:
Re: Зависание файловых менеджеров на сетевых дисках
Это не решает проблему ))
К тому же, время ожидания прямо пропорционально объёму копируемого.
Nautilus, Thunar, PcmanFM копируют без ожидания.
Однако в Nautilus невозможно массово выделить файлы, если они отображены подробным списком; окно выглядит слишком жирно и не габаритно;
нет функции встраивания команд в менюшки; нет встроенного рабочего стола; требует много компонентов gnome, а у меня icewm.
Thunar и PCmanfm ptp и mtp работают отлично, но они не имеют нужных мне возможностей Spacefm и также зависают на сетевых ФС
текущую консоль вешает.
А cp текущую консоль вешает. Его конечно можно запустить с & и nohup, но меньше ждать от этого он не станет.
Re: Зависание файловых менеджеров на сетевых дисках
Ну в принципе можно написать скрипт для spacefm и встроить его в меню?.
Например получать содержимое буфера можно командой:
Ну а директорию где вставить файл, можно передавать как параметром скрипта %d, так и вставить в начало скрипта $fm_import, после выполнения этой команды можно взять в переменной fm_pwd.
Копировать командой gvfs-copy, только она не копирует каталоги, нужно будет добавить проверку на каталог, и поиск в глубину, с созданием каталогов. Например командой file - если второй параметр directory, то создавать каталог.
Думаю такой скрипт не будет вешать систему.
Подробнее стоит посмотреть мануал.
Например получать содержимое буфера можно командой:
Shell
xclip -o -selection c
Копировать командой gvfs-copy, только она не копирует каталоги, нужно будет добавить проверку на каталог, и поиск в глубину, с созданием каталогов. Например командой file - если второй параметр directory, то создавать каталог.
Думаю такой скрипт не будет вешать систему.
Подробнее стоит посмотреть мануал.