NFS拷贝大文件出错的解决办法


1、问题背景

  在学习《韦东山嵌入式》第二期视频的时候,需要把arm-jz2440通过网线与PC机相连,使用NFS挂载文件,在PC上编译好模块后传输到arm-jz2440的Linux系统上再运行。一切准备就绪,挂载也成功,当时的挂载命令:

mount -t nfs -o nolock 192.168.36.48:/nfs  /mnt

  在挂载目录mnt上copy小文件(1K~20K左右)到arm-jz2440的Linux系统上没有发生问题,当copy驱动程序的模块.ko文件(64K左右)的时候出现错误

nfs:server is not responding, still trying 

2、解决办法

  网上搜索一下原因,是PC上的网卡速度和arm-jz2440上的网卡速度不匹配产生的,解决办法是PC机和arm-jz2440的NFS都设置相同的最大数据传输速率
  小白的PC用的是haneWIN,设置很简单。到此就应该能够解决问题,但是小白尝试后发现参数要调试一下,并不是所有的情况都用速率1024(网上基本是1024)能解决。以下是小白的尝试,发现小白的arm-jz2440需要到4096才能正常传输大文件。

第一次尝试(失败)

mount -t nfs -o nolock,rsize=1024,wsize=1024 192.168.36.48:/nfs /mnt

第二次尝试(失败)

mount -t nfs -o nolock,rsize=2048,wsize=2048 192.168.36.48:/nfs /mnt

第三次尝试(成功)

mount -t nfs -o nolock,rsize=4096,wsize=4096 192.168.36.48:/nfs /mnt

PS:所以每个人的单板都需要自己调试一下,速率成倍增加就足够了。

猜你喜欢

转载自blog.csdn.net/Hxj_CSDN/article/details/84348521