是否有人知道是否有办法加快写入主机系统上共享文件夹的速度。
主机运行的是 Ubuntu 10.10,而客户机运行的是 CentOS 5.5,我注意到写入共享文件夹时速度明显下降。
[vincent@dev8 ~]$ bonnie -s 2000
Bonnie 1.4: File './Bonnie.16947', size: 2097152000, volumes: 1
Writing with putc()... done: 51196 kB/s 70.8 %CPU
Rewriting... done: 101780 kB/s 11.1 %CPU
Writing intelligently... done: 46673 kB/s 6.9 %CPU
Reading with getc()... done: 41970 kB/s 57.1 %CPU
Reading intelligently... done: 108134 kB/s 12.3 %CPU
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
dev8.b 1*2000 51196 70.8 46673 6.9 101780 11.1 41970 57.1108134 12.3 362.8 3.9
[vincent@dev8 sharedfolder]$ bonnie -s 2000
Bonnie 1.4: File './Bonnie.16933', size: 2097152000, volumes: 1
Writing with putc()... done: 30547 kB/s 66.6 %CPU
Rewriting... done: 32763 kB/s 12.0 %CPU
Writing intelligently... done: 111468 kB/s 20.6 %CPU
Reading with getc()... done: 36909 kB/s 71.4 %CPU
Reading intelligently... done: 299752 kB/s 39.0 %CPU
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
dev8.b 1*2000 30547 66.6111468 20.6 32763 12.0 36909 71.4299752 39.0 16816.8 140
如您所见,对共享文件夹的写入和读取会占用很多资源。
起初我以为这可能与 Ubuntu 使用 ext4 而 CentOS 使用 ext3 有关,然而即使我在主机系统上使用 ext3 分区作为共享文件夹,情况也没有改善。
有人见过这个问题吗?这是正常的吗?可以改进吗?
感谢你的帮助。
编辑
它是一个 VirtualBox 共享文件夹,这意味着 fs 是 vboxsf。它通过 fstab 安装:
sf_label /mount/dir vboxsf rw,uid=48,gid=48,dmode=774,fmode=774 0 0
答案1
嗯,非共享(=文件内的虚拟磁盘)是慢点比共享(=真实 fs 上的目录,通过 vboxsf 访问):智能写入...完成:46673 kB/s 6.9 %CPU vs 智能写入...完成:111468 kB/s 20.6 %CPU
似乎在文件中模拟磁盘会减慢 IO 速度(这并不奇怪),而共享速度会更快。付出的代价是更高的 CPU 使用率(并且无法与主机操作系统隔离)。
无论如何,感谢这些措施,我想知道使用共享文件夹是否会比虚拟磁盘提供更好的 IO 速度,事实确实如此。