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
磁盘信息
/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
一切正常,只适用于小文件。传输大文件时,路由器 RAM 会填满并崩溃。经过一番研究,我发现 proftp 默认在标准安装中写入位置“/tmp/proftp/users/(user id)/”。该位置是 ramfs,因此写入 RAM。
因此我需要设置一个脚本来安装磁盘或在外部磁盘的该位置设置一个符号链接。
硬盘挂载到/dev/sda1,按照DD-WRT UI挂载到/tmp/mnt/sda1。
这意味着写入 /tmp/mnt/sda1 的任何内容都应该写入磁盘。
- 我已经 rm -f tmp/proftpd/users
- mkdir /tmp/mnt/sda1/用户
- ln -s /tmp/mnt/sda1/用户/tmp/proftpd
这样,所有 proftp 用户都会被写入 HHD 驱动器。
然而,当我传输大文件时,看到可用 RAM 开始下降,就像文件被写入 RAM 一样。
我错过了什么?
答案1
您看到的是正常的。文件数据保存在 RAM 中,以备再次需要。如果需要更多可用 RAM,则缓存将被丢弃。