回答
你可以在linux上使用taskset。您還可以降低進程的優先級,但除非CPU(S)忙,否則進程將獲得儘可能多的CPU。
我有一個專用於線程的庫,稱爲Java Thread Affinity,但它可能與您的想法有不同的目的。你能澄清你爲什麼要這麼做嗎?
我爲學校項目創建了一個分佈式處理網格,其中一個要求是能夠限制資源使用情況。 – rynojvr
最簡單的做法是以非常低的優先級啓動進程。例如'nice -n 20'這意味着它只會使用「免費」的CPU。這不會限制內存(您可以使用最大堆大小)或磁盤或網絡IO(如果需要,您必須編寫代碼),但它將完成大部分所需內容。 –
我不認爲有內置的JVM選項來做這些調整,但是您可以通過設置JVM進程的優先級和/或CPU關聯來限制CPU使用率。 如果你在Linux上看看CPULimit這是一個很棒的工具來做這些資源限制。
這種無處不在的便攜式語言的主要缺點;我不敢相信這至少沒有被「java霸主」公司所解決。 –
https://github.com/haosdent/jcgroup jcgroup是您的最佳選擇。您可以使用此庫來限制CPU份額,磁盤I/O速度,網絡帶寬等。
- 1. 使用Rx限制遠程資源的使用情況
- 2. Grep資源使用情況
- 3. MySQL資源使用情況
- 4. 限制Java EE應用程序中的併發資源使用情況
- 5. 限制在Linux上調試應用程序的資源使用情況
- 6. Rails繼承資源使用情況
- 7. Oracle企業資源庫使用情況
- 8. session_start()的資源使用情況()
- 9. 爲Java監控系統資源使用情況
- 10. 嵌套資源上的滑軌控制檯使用情況
- 11. 限制.Net CLR內存使用情況
- 12. MySQL資源限制
- 13. Bintray資源限制
- 14. 限制使用FHIR中的資源
- 15. 限制WCF服務資源的使用
- 16. 資源使用期限控制問題
- 17. 使用ACL限制CakePHP中資源ID對資源的訪問
- 18. 如何使用PHP優化資源使用情況readfile()
- 19. 應用引擎中每個用戶的資源使用情況
- 20. 強制嘗試使用資源Java 7
- 21. 啓用RDP的Windows Azure雲服務資源使用情況
- 22. 限制資源行動
- 23. 限制資源路線
- 24. 臨時表資源限制
- 25. Windows上的資源限制?
- 26. 語言限制資源.resx
- 27. docker-compose v3限制資源
- 28. kineticjs和iOS資源限制
- 29. 在Moodle中限制資源
- 30. Elastisearch 2.3.2資源限制
不是從java端,操作系統將線程分配給核心。來自VMWare的一些非常昂貴的軟件是我個人熟悉的唯一解決方案:) – Affe
http://stackoverflow.com/questions/8882885/is-it-possible-to-force-an-existing-java-application-to -use-no-more-x-cores – rolve
[Limiting java application's memory and cpu usage]可能的重複(http://stackoverflow.com/questions/4952528/limiting-java-applications-memory-and-cpu-用法) – Abizern