繁体   English   中英

Intellij IDEA 为每个调试会话创建多个进程?

[英]Intellij IDEA creates multiple process for each debug session?

每次我在 IDE 中点击调试按钮时,都会创建一个在操作系统上运行的新进程。

在此处输入图片说明

有没有一种方法可以配置东西,以便在点击调试按钮时一次只能在我的操作系统上运行一个 JAVA 进程?

我所知道的是,如果我点击调试面板中的红色停止按钮,该数字将减少。 只要我记得在每次我可以管理正在运行的进程数时点击调试按钮之前停止。 但这很容易忘记做。 此外,一旦我有 5-10 个正在运行的调试会话,将它们全部删除是非常乏味的。 我必须去Run->Show Running List并出现一个“VM Connections”列表,我必须将它们一一删除。 通常,列出它们的这个 UI 组件会消失,我必须再次将其拉出。 有没有办法一次结束所有这些过程?

你不能在整个 AFAIK 操作系统范围内做到这一点,你也不希望它变成那样; 可能正在运行的其他Java 进程有多少与您的调试会话无关? (Intellij 将是其中之一)

您可以做的是,在您的运行配置设置中,将一个或多个配置设置为“仅单个实例”; 它是对话框右上角的一个复选框。 这将迫使您在开始另一个之前终止使用该配置的任何运行。

IntelliJ 创意 2017

标记此复选框:

Run -> Edit configurations -> Single instance only (右上角)

它不会让您在运行下一个实例之前运行另一个实例。

来自IntelliJ IDEA 2016.1 帮助/运行/调试配置

" IntelliJ IDEA 2016.1 帮助/运行/调试配置:远程

常用选项

仅限单实例
如果选中此复选框,则此运行/调试配置不能多次启动。 每次启动新的运行/调试配置时,IntelliJ IDEA 都会检查同一运行/调试配置的其他实例是否存在,并显示一个确认对话框。 如果在确认对话框中单击“确定”,则运行器的第一个实例将停止,下一个将取而代之。 当某些资源的使用会导致冲突,或者启动两个相同类型的运行/调试配置消耗过多 CPU 和内存资源时,这很有意义。 如果未选中此复选框,则可以根据需要启动尽可能多的运行程序实例。 这样做,每个运行程序都将在运行工具窗口的自己的选项卡中启动。

Intellij IDEA 更新

对于那些想知道每次执行编译/调试/运行并且只有一个实例正在运行时第二个 java 进程发生(大约 100 MB 内存分配)的人:该进程是与主 IDEA 并行运行的编译服务器并接管编译。 这样做的原因是较低的内存占用和性能。

该功能自 2012 年以来就存在,但默认情况下未启用。

我们公司的所有人都有IntelliJ Idea ,我们在2019.2.3版本之后都遇到了这个问题。 解决方案出乎意料。 如下图所示,有一个名为On frame deactivation的项目,默认值为Update classes and resources

在这种情况下,当我们处于debug mode并且我们正在更改一个简单的事情并且我们正在更改当前窗口时(例如将 chrome 放在前面以测试更改),对于deactivation on idea frame每次deactivation on idea frame它都会创建两个进程(一个用于building ,一个用于hot swap ),因此您可以想象您可以结束多少个进程。 有时我个人有 12 个进程!

答案是将此值更改为Do nothing 所以每次我更改一个类时,我都会手动white button debug framewhite button ,它只会刷新一次资源。

我们尝试更改堆大小或其他解决方案,但它们对我们无效。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM