周末搞了套机器,E8400+ASUS P5Q,超到4G,挺爽。搞定后直接上ubuntu 8.10,想把工作环境迁移上去。
android的编译等都挺正常。接下来就是配置nfs等。想先用nfs跑起来。但很奇怪的是,nfs能够正常mount,也能创建文件夹,但是就是DEX core.jar的时候就卡住了, 也出现了nfs waiting之类的等待消息。初步判断是大数据的写有问题。
经google一查,也有不少人遇到此问题,多数通过配置nfs的读写块大小解决。尝试了一下kernel参数,rsize=1024 wsize=1024,但并没解决问题。暂时放下了。
白天思考了一下,因为朋友也用8.10的nfs,应该nfs本身,不太可能存在问题(配置也很简单)。应该是新网卡(千兆)的配置或者与target的通信问题。最后无意中注意到了自动配置的host eth0的MTU,仅仅才576!如果有大块数据,又没分包传,那肯定就会卡住。于是修改MTU为1500,问题解决。android顺利跑了起来。
解决这类问题,得明白的找准问题可能出现的地方,通过排除法和分析等去准确的定位问题。这样一来,即使出现问题的地方是平时不太关注的(比如这MTU),也很容易顺理成章的,又如神来之笔般解决。
附转帖的完美解决方案:
8.10每次连接时mtu自动设置为576。查阅论坛多个相关主题,终于解决了这个问题。
先修改/etc/NetworkManager/nm-system-settings.conf,将managed=false改为true
plugins=ifupdown,keyfile
[ifupdown]
managed=true
再修改/etc/network/interfaces文件的内容如下,重启就对了(注:我是通过路由器上网,路由器已设置mtu为1480,故并没有设置mtu,具体IP和DNS根据实际情况设置的):
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.xxx
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx
在Ubuntu 8.10系统中,使用NFS时遇到无法正常读写的问题,尤其是在处理大数据文件时卡住。经过排查,发现是网卡的MTU值设置不当导致的。通过调整MTU到1500解决了问题,强调了解决此类问题需要精准定位和分析。
1360

被折叠的 条评论
为什么被折叠?



