O que você está vendo é normal. Os dados do arquivo são mantidos na RAM apenas no caso de serem necessários novamente. Se mais RAM livre for necessária, o cache será descartado.
Router Model
Buffalo WZR-1750DHP
Firmware Version
DD-WRT v3.0-r29968M std (06/17/16)
Kernel Version
Linux 4.4.13 #950 SMP 2016 armv7l
Informações do disco
/dev/sda1
Block device, size 3.639 TiB (4000785104896 bytes)
Ext4 file system
UUID -Redacted- (DCE, v4)
Volume size 3.639 TiB (4000785104896 bytes, 976754176 blocks of 4 KiB)
/dev/sda1 mounted to /tmp/mnt/sda1
Tudo funciona esperado os arquivos pequenos. Ao transferir arquivos grandes, a RAM do roteador é preenchida e falha. Depois de um pouco de pesquisa eu descobri o padrão para proftp writse para o local '/ tmp / proftp / users / (ID do usuário) /' em uma instalação padrão. Esse local é um ramfs e, portanto, escrevendo para a RAM.
Portanto, eu precisava configurar um script para montar o disco ou configurar um link simbólico nesse local do disco externo.
O disco rígido é montado em / dev / sda1 montado em / tmp / mnt / sda1 de acordo com a interface do usuário DD-WRT.
Isso significa que qualquer coisa escrita em / tmp / mnt / sda1 deve ser escrita em disco.
Dessa forma, todos os usuários do proftp são gravados na unidade HHD.
No entanto, quando transfiro arquivos grandes, vejo a RAM livre começar a cair como se os arquivos estivessem sendo gravados na RAM.
O que estou perdendo?