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

Disk Info

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

Everything works expected the small files. When transferring large files the routers RAM fills up and it crashes. After a bit of research I discovered the default for proftp writse to the location '/tmp/proftp/users/(user id)/' on a standard install. That location is a ramfs and thus writing to RAM.

Therefore I needed to setup a script to mount the disk or setup a symlink at that location of the external disk.

The hard drive is mounted to /dev/sda1 mounted to /tmp/mnt/sda1 according to the DD-WRT UI.

That means anything written to /tmp/mnt/sda1 should be written to disk.

  1. I've rm -f tmp/proftpd/users
  2. mkdir /tmp/mnt/sda1/user
  3. ln -s /tmp/mnt/sda1/users /tmp/proftpd

That way All proftp users are written to the HHD drive.

Yet when I transfer large file see the free RAM start to drop as if the files being written to RAM.

What am I missing?

  • 1
    Are you sure what you're seeing is not simply cache? – Julie Pelletier Jun 24 '16 at 23:38

What you're seeing is normal. The file data is kept in RAM just in case it's needed again. If more free RAM is needed, the cache will just be discarded.

  • It turns out you correct I was being overcautious in canceling the transfer. It takes 90% of the RAM during a normal transfer. During testing, I canceled the transfer early fearing that router would crash as it did initially. Everything works as expected now that its been reconfigured using symlink to the hard disk. – thinkgeek Jun 25 '16 at 3:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.