當試圖運行密集的Ruby方法時,我注意到它只使用了25%的CPU資源,而70%的CPU空閒。有什麼辦法可以配置這個以使用更多?我在Windows 7上,ruby 2.0.0Ruby.exe只使用25%的CPU資源
回答
你可能有4個CPU核心。您正在運行1個Ruby進程。 1 Ruby進程= 1線程=可以使用最大1個CPU內核。 Ruby的MRI(默認)實現當前不能並行運行多個線程。爲此,您可能需要嘗試JRuby或Rubinius等允許並行線程的其他實現。我猜你需要學習一些關於多線程的知識才能理解這一點,首先閱讀一些基本教程,然後閱讀「Does ruby have real multithreading?」等問題。
我會考慮遷移到jruby,謝謝。 – 2014-09-23 18:38:18
這不僅僅是JRuby。 *除了MRI和YARV支持,所有* Ruby實現並行運行多個Ruby線程。甚至MRI和YARV也支持並行運行* C *線程,而不是Ruby線程。但是,請注意,當然,您仍然需要重新構建您的代碼,以便首先使用多個線程。 – 2014-09-23 21:17:47
@JörgWMittag:真的,*所有*他們? :) https://github.com/cogitator/ruby-implementations/wiki/List-of-Ruby-implementations – 2014-09-24 16:11:27
當進程運行時,轉到任務管理器,右鍵單擊程序,單擊「轉到進程」,右鍵單擊進程,選擇優先級,並檢查「高」。
重要提示:從不將應用程序設置爲「實時」,這可能會導致幾個問題。
引用:
http://www.tomshardware.com/forum/57576-63-maximum-capacity-application
這不會超過25%,我認爲其他答案是正確的,因爲默認情況下它不會使用多個核心。 – 2014-09-23 18:36:12
- 1. 我的程序只使用CPU功耗的25%
- 2. 如何管理CPU資源
- 3. 調度非CPU資源
- 4. 設置應用程序的資源限制(CPU使用率)
- 5. 優化Keras以使用所有可用的CPU資源
- 6. TFS通過使用25%的CPU使用率鎖定Visual Studio 2013
- 7. php彗星:吃的CPU資源
- 8. UDP recvfrom線程使用太多的CPU資源
- 9. joomla網站使用太多的CPU資源
- 10. 爲什麼我的Asp.net的CPU使用率通常約爲25%
- 11. CPU正在使用100%資源,因此隊列失敗
- 12. C#在Monitor.Wait期間,線程是否使用CPU資源?
- 13. 獲取Linux進程資源使用情況(CPU,磁盤,網絡)
- 14. removeChildAt()是否清除cpu資源?
- 15. RXJava - 熱觀測 - 安全CPU資源
- 16. 如何限制CPU資源/ Shockwave Flash
- 17. kubernetes /瞭解CPU資源限制
- 18. 限制泊塢窗守護CPU資源
- 19. 使用資源
- 20. Java阻塞的線程佔用更多的CPU資源嗎?
- 21. ProductFlavours只有資源更改
- 22. 只讀派生REST資源?
- 23. Tomcat org.apache.catalina.connector.requestfacade.getsession()佔用44.7%以上的CPU資源
- 24. 控制檯應用程序需要大量的CPU資源
- 25. 節流CPU和可用於Chrome的資源
- 26. Angularjs使用$資源
- 27. 由進程的線程查找資源(CPU和內存)的使用在Android的
- 28. 使用AJAX的Rails資源
- 29. WordPress的資源使用
- 30. 使用的資源,爲
你有四核CPU嗎? :) – 2014-09-23 18:00:00
很確定Ruby的默認實現只有綠色線程。這不會使它只能從一個核心工作嗎? – 2014-09-23 18:00:28
@DanPantry:不可以,1.9或更高版本不使用綠色線程。他們使用全局鎖定的真實線程。 – 2014-09-23 18:01:17