Acostando a um fórum o problema é com gvfs e cifs funciona muito melhor. Não estou familiarizado com esses termos, mas posso confirmar isso. Montando a unidade manualmente:
mount -t cifs -o username=root,password=xxxxx //192.168.0.186/asmedia-hdd /media/asmedia-hdd
Eu posso conseguir 10MB / s no Nautilus. O único problema é que eu não tenho descoberta de rede e não consigo desmontar a unidade do nautilus. Então, acho que isso não é uma solução real.
Existe alguma maneira de forçar o Nautilus a usar o cifs ao invés do gvfs?
próximo
Eu encontrei um arquivo de configuração, que parece ser muito relevante:
/usr/share/gvfs/mounts/smb.mount
[Mount]
Type=smb-share
Exec=/usr/libexec/gvfsd-smb
AutoMount=false
Scheme=smb
Eu acho que gvfs não é um tipo de partição, é algo que usa cifs também. Então eu acho que posso de alguma forma definir o tamanho do buffer cifs aqui. Eu não consegui descobrir ainda como fazer isso.
De acordo com o wiki, o gvfs é um sistema de arquivos virtual, então ele pode estar no topo do cifs, então eu estava certo.
próximo
Eu encontrei esta resposta: link tentando montar o gvfs a partir do terminal. De acordo com ele, o export $(dbus-launch)
é importante antes de usar qualquer comando gvfs. Eu confirmo que não consegui usar os comandos gvfs do terminal e recebi apenas mensagens de erro vagas sobre o problema.
Consegui montar a unidade manualmente com o gvfs:
gvfs-mount smb://WORKGROUP\;[email protected]/asmedia-hdd
Consegui listar as unidades montadas
gvfs-mount -l
Drive(0): KINGSTON SV300S37A120G
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Drive(1): ST31000528AS
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Volume(0): data
Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
Volume(1): system
Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
Volume(2): Rendszer számára fenntartott
Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
Drive(2): TSSTcorp CDDVDW SH-222AB
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
Mount(0): asmedia-hdd on 192.168.0.186 -> smb://WORKGROUP;[email protected]/asmedia-hdd/
Type: GDaemonMount
Ainda não há muita informação sobre a configuração dessas unidades montadas. O Nautilus não mostrou a unidade montada. Isso é interessante, porque quando eu usei o comando mount no terminal o drive montado apareceu no nautilus.
Encontrei o ponto de montagem aqui:
cd ~/.gvfs/smb-share\:domain\=WORKGROUP\,server\=192.168.0.186\,share\=asmedia-hdd\,user\=root/
Eu era capaz de cp da unidade montada gvfs um arquivo mkv e eu usei
watch -- du -h test.mkv
para medir a velocidade de transferência, foi de cerca de 4,3MB / s. Eu usei a mesma técnica medindo a velocidade do CP quando eu usei o comando smbclient. Então eu consegui reproduzir o que o Nautilus faz no fundo. Agora, a única coisa que preciso é adicionar uma opção para alterar o tamanho do buffer cifs, se isso for possível.
conclusão:
Acabei de adicionar o seguinte ao fstab:
//192.168.0.186/asmedia-hdd /media/asmedia-hdd cifs rw,workgroup=WORKGROUP,username=root,password=xxxxx,noauto,users,iocharset=utf8 0 0
e usado
chmod 4755 /usr/sbin/mount.cifs
porque o nautilus escreveu que apenas o root pode montar a unidade em vez de mostrar o prompt da senha de root.
Eu não gosto dessa solução, porque o nautilus não descobre as unidades de rede dessa maneira. Outro problema que eu tive que dar permissões para todos os usuários para montar esta unidade e eu tive que dar a senha smb, porque eu não tive pronto para isso também. As velocidades de download foram bem, e eu também recebi o mesmo pelo upload. Pelo upload eu recebi falsos relatórios de velocidade e tamanho de arquivo do nautilus, ele grava 120MB / s no começo, o que diminui constantemente. Ao verificar o tamanho do arquivo com a unidade montada gvfs consegui obter informações sobre as velocidades reais. Foi cerca de 10MB / s.
Eu tento resolver isso com o gvfs. Se eu conseguir fazer isso, postarei uma resposta, mas até que eu use essa solução montada em cifs.
próximo ~ 2016
Adicionou um relatório de erros aqui: link talvez eles tenham uma resposta.
next ~ 2017
De acordo com o Gnome devs, esse é um bug do Samba. Eles podem escrever um patch, mas não há garantia. O Samba não não se importou com ele nos últimos 3 anos (2014-17), eu não estou mesmo que o projeto seja mantido.
nota :
Eu medi este 10MB / s através de conexão wi-fi. Fiz algumas medições através de ethernet com o mesmo Odroid XU4 quando tentei depurar isso. (O GVFS usa o libsmbclient, então faz algo semelhante ao chamar smbget
.)
copie com o nautilus (18-19MB / s)
# mount with nautilus on GUI
# copy with nautilus on GUI
copia com tamanho de bloco padrão smbget (23-24MB / s)
# mount with nautilus on GUI
smbget -u root -w WORKGROUP smb://192.168.0.186/asmedia-hdd/testfile
copie com tamanho de bloco smbget 16K (1-64K) (38-57MB / s)
# mount with nautilus on GUI
smbget -u root -w WORKGROUP smb://192.168.0.186/asmedia-hdd/testfile --blocksize=16777216
copiar com montagem CIFS (70-90MB / s)
# mount in fstab
//192.168.0.186/asmedia-hdd /media/asmedia-hdd cifs rw,workgroup=WORKGROUP,username=root,password=...,noauto,users,iocharset=utf8 0 0
# copy with nautilus on GUI
Portanto, um gargalo evidente é o tamanho de bloco muito pequeno aqui no GVFS, mas a velocidade chega ao tamanho de bloco de 1k e atinge no máximo 63% da velocidade do CIFS, portanto deve haver outro afunilamento não identificado no smb lib. / p>