Ruby在VMware上的缓慢启动性能
我的旧上网本(AMD C-60)在启动Sinatra应用程序时只需5-7秒(Ruby),23-24秒(JRuby) 操作系统(上网本):32位Arch Linux 3.4.62-1 i686 PAE(2GB RAM) 我的显影PC(AMD A8-6600K)的启动时间为1-2秒(Ruby),12-16秒(JRuby) 操作系统(pc):32位Arch Linux 3.11.1-1 i686 PAE(8GB RAM) 当我在我的开发PC上添加vmware时,启动时间为0.9-2秒(Ruby),7秒(JRuby) 来宾操作系统(vm pc):32位Arch Linux 3.11.1-2 i686(1.5GB RAM) 在64位VMware下使用32位来宾(i3-3220,应该比我的旧上网本快很多倍),它只需45-46秒(Ruby)和30-37秒(JRuby) 来宾操作系统(vm-i3):32位Arch Linux 3.11.1-2 i686(1.5GB RAM) 主机操作系统:64位Ubuntu Linux 3.8.0.19 x86_64 13.04(2GB内存,仅运行Unity、VMware和gnome终端) 运行单个脚本(向数据库生成12MB数据)时,性能正常:Ruby在VMware上的缓慢启动性能,ruby,jruby,vmware,Ruby,Jruby,Vmware,我的旧上网本(AMD C-60)在启动Sinatra应用程序时只需5-7秒(Ruby),23-24秒(JRuby) 操作系统(上网本):32位Arch Linux 3.4.62-1 i686 PAE(2GB RAM) 我的显影PC(AMD A8-6600K)的启动时间为1-2秒(Ruby),12-16秒(JRuby) 操作系统(pc):32位Arch Linux 3.11.1-1 i686 PAE(8GB RAM) 当我在我的开发PC上添加vmware时,启动时间为0.9-2秒(Ruby),7秒
real/user/sys
netbook: ruby: 4:25/2:13/0:02 jruby: 13:21/11:46/0:09
pc: ruby: 1:39/0:31/0:05 jruby: 3:52/ 3:38/0:03
vm-pc: ruby: 0:40/0:31/0:06 jruby: 3:25/ 3:12/0:02
vm-i3: ruby: 1:18/0:21/0:05 jruby: 3:16/ 2:19/0:35
配置:
Ruby: using Thin web server, ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux]
JRuby: using Trinidad web server, jruby -v
jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on OpenJDK Client VM 1.7.0_40-b31 +indy [linux-i386]
vm-i3启动缓慢的原因是什么?问题出在
/etc/hosts
文件上,忘记添加一行包含localhost/hostname另一个可能会在启动时减慢ruby的事情是rubygems模块。如果不需要加载gems,可以通过使用--disable gems
选项运行ruby来加快启动速度
如果您以后决定加载gem,则在
require'some_gem'
行上方的一个简单的require'rubygems'
就足够了。您应该从禁用invoke dynamic开始(在JDK 1.7.0_40上启用,但已知会导致故障和性能下降)。。。尝试使用-Xcompile.invokedynamic=false启动jruby
。谢谢,它在脚本2:17/1:33/0:02
上运行得更快,在我的电脑上启动得更快,大约6s