如何在Windows下以低优先级从Eclipse启动?

adu*_*dum 6 java eclipse taskmanager

我正在运行Eclipse(在Windows上)占用大量CPU时间的程序.为了避免让整个机器陷入困境,我使用任务管理器将优先级设置为低.但是,这是一个繁琐的手动过程.有没有办法Eclipse可以自动设置此优先级?

编辑:我意识到每个特定的启动器(Java,Python等)都有自己的配置方法,所以我将这个问题限制在Java域,这是我最需要的.

Geo*_*man 5

我在 Windows 上遇到同样的问题 — 启动使用所有 CPU 的子进程(线程并行作业),但我希望 Windows 开发环境具有良好的响应能力。

解决方案:启动多个作业后:

DOS命令>> wmic process where name="javaw.exe" CALL setpriority "below normal"

不,这不会影响 eclipse.exe 进程。

Java 解决方案:将此代码插入到 CPU 密集型程序中以降低它们自己的 Windows 优先级:

public static void lowerMyProcessPriority() throws IOException {
    String pid = ManagementFactory.getRuntimeMXBean().getName();
    int p = pid.indexOf("@");
    if (p > 0) pid = pid.substring(0,p);
    String cmd = "wmic process where processid=<pid> CALL setpriority".replace("<pid>", pid);
    List<String> ls = new ArrayList<>(Arrays.asList(cmd.split(" ")));
    ls.add("\"below normal\"");
    ProcessBuilder pb = new ProcessBuilder(ls);
    pb.start();
}
Run Code Online (Sandbox Code Playgroud)

是的,已测试。适用于 Win7。


mar*_*ira 0

更好的选择是配置 Eclipse 将使用的内存量:http://www.eclipsezone.com/eclipse/forums/t61618.html

并在 google 上搜索有关 JVM 的 -Xmx 和 -Xms 参数(您可以为Eclipse 内的运行器进行配置)。

亲切的问候