Intermittently,当我输入一个涉及Ruby的命令时(比如
我注意到在良好的情况下,状态为“运行”,而不是“不可中断”。
我该如何诊断和修复这些缓慢的启动?
ruby somefile.rb
,rake
,rspec spec
或irb
),命令执行需要很长时间。例如,几分钟前,启动irb
需要大约一分钟的时间。几秒钟前,只需要大约一秒钟的时间。
等待irb
启动时,我反复按下Control+T
。我看到的一些输出包括:
load: 1.62 cmd: ruby 12374 uninterruptible 0.45u 0.13s
load: 1.62 cmd: ruby 12374 uninterruptible 0.48u 0.13s
load: 1.62 cmd: ruby 12374 uninterruptible 0.53u 0.15s
在OSX上,这个输出代表“负载、命令运行、pid、状态以及用户和系统CPU时间使用情况”。当我等待了53秒时,使用的CPU时间仅为0.15秒。
我对负载的理解是大致上是“有多少核正在被使用”。例如,在单核系统上,1.0是完全利用,但在四核机器上,它是25%的利用率。我认为负载量不是问题,因为我的机器是多核的。此外,当irb
快速启动时,我可以得到一行输出,其值也大于1.0
。
load: 1.22 cmd: ruby 12452 running 0.26u 0.02s
我注意到在良好的情况下,状态为“运行”,而不是“不可中断”。
我该如何诊断和修复这些缓慢的启动?
ruby -v
) - Satya