最近在下载几个3D片源,家里装了联通20Mbp的宽带,网速能达到2.5MB,异常迅猛,我在MacOS里面装了个虚拟机,虚拟机里面装了个Windows2003,Win2003里面安装了迅雷,专门下载3D片源。其实我也知道可以在Mac下直接装迅雷,之所以在虚拟机里安装,纯粹是一个偶然的因素,这是纯粹非技术因素,充其量算我的无知吧!
迅雷使用P2P方式下载,下载速度越快,网络崩溃的时间就越快,我发现只要速度持续2MB以上达到十分钟左右,NAT模式的虚拟机里面就无法联网了,在宿主机上看进程,发现vmnet-natd这个进程不在了,可是某一次,vmnet-natd程序在的情况下,网络也不可用了,这个问题该如何解决?
VMWare的nat模式其实是用户态的vmnet-natd来完成的,它本质上是一个代理,多于TCP而言是一个握手代理,对于虚拟机里面外出的每一个连接,vmnet-natd都要有一个TCP连接与之对应,而在Unix/Linux上(MacOS底层是一个Unix),每一个连接都是一个socket,而每一个socket都是一个打开的文件描述符,因此最多能有几个连接受制于Unix进程中最多能打开几个文件描述符,这和Linux的ip_conntrack数量限制是一样的。而对于P2P下载,无疑会有大量的连接,在宿主机上lsof一下vmnet-natd,发现文件描述符达到了几千个,某一次,正是由于文件描述符达到了上限所导致的网络崩溃。
还有那么一次,我发现vmnet-natd不在了,这肯定就无法上网了,于是重新运行它:
/Applications/VMware\ Fusion.app/Contents/Library/vmnet-natd -s 9 -m /Library/Preferences/VMware\ Fusion/vmnet8/nat.mac -c /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf -D得到下面的输出:
Using configuration file: /Library/Preferences/VMware Fusion/vmnet8/nat.conf.
IP address: 172.16.49.2
Subnet: 255.255.255.0
External IP address: 0.0.0.0
Device: vmnet8.
MAC address: 00:50:56:E6:37:3C.
Ignoring host MAC address: 00:50:56:C0:00:08.然而,当持续高速时,突然出现了下面的报错:
vmnet-natd(2651,0x7fff7b380960) malloc: *** error for object 0x101903ff8: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug这种错误是没法直接解决的,很明显这是程序的bug导致的,虽然解决不了,总是可以补救,那就是再次手工运行vmnet-natd即可,需要注意的是-s参数,可能不再是原来的。
还有那么一次,文件描述符没有达到上限,也没有上述的报错,可是虚拟机中的网络还是崩溃了。打开活动监视器,发现vmnet-natd进程的CPU占用达到了100%,进程取样看不出任何异样,很明显这也是vmnet-natd程序本身的问题。重新启动一下vmnet-natd即可。
太麻烦了,最直接的解决办法:1.直接在Mac上装迅雷;2.使用桥接模式(就像美国电影拍续集一样,在结束本文时,我突然看到了一个进程:vmnet-bridge,理论上,它是不需要的啊,Windows上不是直接在物理网卡上注册一下桥接协已就可以了吗??Linux上不是注册一个ptype_all就可以了吗??)
分享到:
相关推荐
VMware Fusion 3的序列号,用于MAC操作系统,支持雪豹
VMWare Fusion 6 Keygen
虚拟机连不上网络故障排查,VMware Fusion 网络和Internet 连接问题
一直在折腾VMware Fusion中攻击机的IP地址,使用的是NAT共享,但是OSX给vmnet8配置的IP地址是172.16.149.0/24,而我希望将它改成DHCP自动分配10.10.10.0/24,搞到现在终于可以在虚拟机中上网了。 试错 网上有一堆...
vmware fusion 7的序列号,请支持正版!
VMware Fusion 6: 超强虚拟机 (Keygen,注册机) 序列号 官方下载地址https://download3.vmware.com/software/fusion/file/VMware-Fusion-6.0.1-1331545.dmg
Mac_VMwareFusion虚拟机,v8.0.2,安装可用。
vmware fusion 5.03 license Key
VMware Fusion 使您可以从数百个受支持操作系统之中进行选择,从比较少见的各个 Linux 发行版到最新的 Windows 10 版本,不一而足。 2、可针对任何平台进行开发和测试 借助 Fusion,可轻松地在 Mac 上测试几乎所有...
最新的VMware Fusion 11的序列号,亲测有效,osx平台的下的哟
vmware fusion pro 10 版本有需要的同学下载吧!
Mac版VMware Fusion 11序列号,亲测能用!
VMware Fusion 10 Pro 序列号 MAC IOS 正版,亲测可用
VMWARE fusion的extended patch,可以在11.0.2上面使用
VMware Fusion 安装 ubuntu For mac,最近学习python用到ubuntu,所以就用虚拟机安装一下,顺便记录整个过程。其实不难,只要有耐心就一定能成功
open with Preview or TextEdit
这个是需要安装虚拟机VMware Fusion 6.02 要用的注册机,这样可以保证永久使用!
VMware Fusion 使您可以从数百个受支持操作系统中进行选择(从比较少见的各个 Linux 发行版到最新的 Windows 10 版本)来与最新的 macOS 版本一起运行。 可连接到 VMware vSphere 可安全地与 vSphere、ESXi 和 ...
Mac fusion 10 pro Key序列号!!亲测可用!!10.1.1 !!
VMware Fusion允许你创建你的Mac上的虚拟机和运行Windows(包括Windows 8.1和Windows软件在Mac)。 你最喜欢的Windows应用程序运行在Mac应用程序,而不需要重新启动。与运行Windows应用像微软项目的能力,访问和...