是否有一種簡單的方法可以在Java中生成恆定的CPU負載?像生成60%的CPU負載一樣。Java中的cpu負載的人工生成
2
A
回答
2
尚未對此進行測試,但它可能會大致工作,以使您的應用程序正常工作並以正確的比例休眠。喜歡的東西(僞):
load = 60;
do forever
time = current_system_time_ms() + load
while (current_system_time_ms() < time)
// just consume some time for 60 ms
end
SLEEP(100 - load); // sleep for 40 ms
end
好吧,你問一個簡單的方法,但... :)
+0
使量程100,然後使當前的CPU爲currentTimeMillis或其他東西。睡40millis,然後保持循環60 – 2011-06-02 03:10:04
+0
@羅伯特馬薩里考慮它更深深地提出懷疑它會工作。我想你是對的。我會改變答案。 – user492238 2011-06-02 03:17:16
1
我認爲這甚至是不可能的,因爲:
- JVM解釋代碼的方式(只要它解釋代碼的話)是實現相關
- 的編譯器和JVM,可以優化代碼(當然,與實現相關),以便可以運行不同於給定.class文件中字節碼的字節碼。
0
的遲到了樣,只是想和大家分享,我創建了一個小型開放客戶端庫名爲FakeLoad,可用於生成不同類型的系統負載,如CPU,內存和磁盤I/O。
例如,產生的60%用於FakeLoad 30秒的CPU負載可以做這樣的:
// Creation
FakeLoad fakeload = FakeLoads.create()
.lasting(30, TimeUnit.SECONDS)
.withCpu(60);
// Execution
FakeLoadExecutor executor = FakeLoadExecutors.newDefaultExecutor();
executor.execute(fakeload);
它不提供完美的精確度,但它能夠產生相當恆定的,準確的負載。它可以在Maven Central上使用,所以請隨時試試:)
相關問題
- 1. 在Java中生成CPU負載
- 2. 檔案Java的CPU負載
- 3. java中的http負載生成器
- 4. CPU負載中的Java多線程
- 5. Java socket偵聽器100%的CPU負載
- 6. Restlet在幾個請求之後生成CPU上的負載
- 7. jffs2_gcd_mtd1 CPU負載
- 8. 工人級別是否始終處於CPU 100%負載狀態?
- 9. 高Mysql的負載 - CPU 360%
- 10. 執行Java中的外部程序 - 巨大的CPU負載
- 11. 異步負載生成
- 12. Java nextInt()生成負數
- 13. Java的Windows生成器JList的負載條件
- 14. Membase的Java的負載生成器問題
- 15. 我的程序的CPU負載
- 16. 大量的插入每秒造成大量的CPU負載
- 17. 我沒有得到cpu的百分比linux的負載java
- 18. Php7.0-fpm高負載CPU
- 19. Android ListView和CPU負載
- 20. IIS高CPU負載:GetMetaDataInternalInterfaceFromPublic + 0x935c
- 21. MongoDB副本集CPU負載
- 22. Linux CPU /內存負載圖
- 23. DispatcherTimer和高CPU負載
- 24. Java聲明,負載數據返回生成的密鑰
- 25. Java Web Services客戶端:一致的負載生成
- 26. 使用數據庫示例數據生成負載的工具
- 27. 負載的服務器有2個CPU
- 28. 帶有播放框架的CPU負載
- 29. 帶有WiredTiger的MongoDB 3:高CPU負載
- 30. WebRTC性能 - 非常高的CPU負載
當你想要一個恆定的CPU負載時,你的需求是否也適用於多核CPU?在Java中獲得CPU關聯並不容易(並且或多或少是不可能的)。 – 2011-06-02 03:29:07
沒有單獨的CPU,特別是我想在Android手機中測試它。 – Gheghen 2011-06-02 03:49:13