【问题标题】:restrict CPU usage of java application to specific amount将 Java 应用程序的 CPU 使用率限制为特定数量
【发布时间】:2016-05-23 17:32:00
【问题描述】:

由于标题是描述性的,我想将在 Windows 中运行的 Java 应用程序的 CPU 使用率限制为特定数量(即 2 GH)

此应用程序可以是“.jar”文件或由 IntelliJ IDEA 或 Eclipse 运行的应用程序

【问题讨论】:

  • 你能详细说明你需要那个吗?我可以理解将其限制为一定数量的内核或可用 CPU 的百分比,但“2 GH”意味着您想要限制速度 - 那么 为什么
  • 我有同样的问题,我想限制一些测量任务的 CPU 速度,当我有特定资源时,我可以很好地了解限制
  • @Mehdi 可以限制的不是速度而是使用百分比。
  • 这个话题可能对stackoverflow.com/questions/4952528/…有帮助
  • @Thomas :我参加了一个 java 编程挑战,他们告诉我们他们为我们的程序提供了特定数量的 CPU(即 2 GH),我想在我的笔记本电脑上测试它,但它的 CPU 速度是 3 GH,有 8 个核心

标签: java windows intellij-idea jvm cpu-usage


【解决方案1】:

限制 CPU 等资源是一个与操作系统相关的问题。

java 中没有任何参数可以用来限制 CPU 使用百分比。

此外,您不限制 CPU 的频率,而只限制使用百分比。因此,如果您有 3Ghz CPU,您可以将其限制在 66%。这意味着 Java 将使用不超过 66% 的时间 CPU,但是对于这 66%,它可以以 100% 的速度使用。

【讨论】:

  • 我该怎么做?如果你可以,请帮助我
  • 我不知道,但最好以不同的形式再次提问。类似于:“如何将 CPU 使用限制为 Windows 中的某个进程?”。请记住,这与 java 无关,并且可能以这种形式很难找到可以帮助您的人。
  • 这个问题没必要再问了,之前在 SO 和 SU 上已经问过了。
【解决方案2】:

在 CPU 受限的 VM 中不使用操作系统来限制 JVM 的唯一方法是限制应用程序本身。当它使用的 CPU 比你希望的多时,你必须让它休眠它正在运行的线程。没有办法自动执行此操作,而是您必须将其添加到您的代码中,可能在每个可能使用大量 CPU 的地方。

【讨论】:

    猜你喜欢
    • 2011-06-22
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 2011-02-26
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多