InteliJ IDEA is using very high CPU. After profiling and contacting Jetbrains support the main cause is Jmix plugin…
Hello, is this a permanent state of CPU usage while working in Jmix Studio, or is it observed at certain moments, such as project indexing after starting the IDE? Could you also tell me your CPU model and share profiling results?
It is constantly high, even after finished indexing.
After closing Jmix project, CPU drops. Reopening project = CPU again goes up 300 - 700%.
Do you want CPU profiling file from IDEA?
MacBook Pro 2019, 2,4 GHz 8-Core Intel Core i9
Thnak you.
Yes, as well as the threadDumps files if you’re experiencing an IDE hang.
After opening any Jmix project (just opening the project in IDEA), the whole Macbook is killed… CPU up to 700%.
The problem is Falcon.
Unfortunately it cannot be stopped or disabled, it is a company policy enforced antivirus…
I guess it scans realtime everything a and together with JMix in IDEA it uses up all CPU and IO resources.
It really sucks.
Could you resolve it with Falcon?
Thank you.
@t.musin
If your company has centralized antivirus/security policy distribution, ask your IT to create a rule to exclude IntelliJ and its subprocesses from certain types of scans. If not, maybe a person with admin privileges can do it on your laptop.
This situation is not uncommon, many years ago I had to do something like this with Mcafee Orchestrator, luckily I was in charge of that so I did not have to ask anyone
Kind regards,
Mladen
It is reported to Jetbrains already.
I will report it to Falcon too.
UPDATE: It does not happen, when Power Saving mode is ON.
UPDATE:
- my employer - NO REPLY
- Falcon - NO REPLY
- JetBarins replied:
Looks like
com.haulmont.jmixstudio.intellij.account.service.AccountServiceImpl.isLoggedInOrHasSubscription()
calling some crypto-related methods fromsun.security
package causing high CPU usageYou can add this information to your support ticket to increase chances that it will be escalated
Possible workaround: try increasing reserved code cache size by adding-XX:ReservedCodeCacheSize=1024m
underHelp | Edit Custom VM Options
and restart the IDEBest regards,
Egor Klepikov
Support Engineer at JetBrains
@krivopustov @mbucan @t.musin Thank you!
Thanks for the update.
In the mentioned method, Studio decrypts the license information with a public key using a standard procedure. It’s not clear why it causes high CPU usage in your case. Perhaps you could mention it too in your Falcon support ticket. Also, we’ll think what we can do from our side.
I also experience Plugin crashes. All reported automatically to JetBrains.
Example:
java.lang.RuntimeException: Cannot find service software.aws.toolkits.jetbrains.services.codewhisperer.explorer.CodeWhispererExplorerActionManager (classloader=PluginClassLoader(plugin=PluginDescriptor(name=AWS Toolkit - Amazon Q, CodeWhisperer, and more, id=aws.toolkit, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/IntelliJIdea2023.3/plugins/aws-toolkit-jetbrains, version=2.5-233, package=null, isBundled=false), packagePrefix=null, state=unload in progress), client=null)
at software.aws.toolkits.jetbrains.services.codewhisperer.explorer.CodeWhispererExplorerActionManager$Companion.getInstance(CodeWhispererExplorerActionManager.kt:218)
at software.aws.toolkits.jetbrains.services.codewhisperer.explorer.CodeWhispererExplorerActionManagerKt.isCodeWhispererEnabled(CodeWhispererExplorerActionManager.kt:203)
at software.aws.toolkits.jetbrains.services.codewhisperer.editor.CodeWhispererEditorListener$editorCreated$1$1$1.documentChanged(CodeWhispererEditorListener.kt:30)
at com.intellij.openapi.editor.impl.DocumentImpl.lambda$changedUpdate$1(DocumentImpl.java:913)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeNonCancelableSection$2(CoreProgressManager.java:228)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:685)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:641)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$computeInNonCancelableSection$3(CoreProgressManager.java:236)
at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:57)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:236)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:227)
at com.intellij.openapi.editor.impl.DocumentImpl.changedUpdate(DocumentImpl.java:910)
at com.intellij.openapi.editor.impl.DocumentImpl.updateText(DocumentImpl.java:814)
at com.intellij.openapi.editor.impl.DocumentImpl.insertString(DocumentImpl.java:545)
at com.intellij.codeInsight.template.impl.TemplateState.lambda$processAllExpressions$1(TemplateState.java:355)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:975)
at com.intellij.codeInsight.template.impl.TemplateState.performWrite(TemplateState.java:424)
at com.intellij.codeInsight.template.impl.TemplateState.processAllExpressions(TemplateState.java:399)
at com.intellij.codeInsight.template.impl.TemplateState.start(TemplateState.java:339)
at com.intellij.codeInsight.template.impl.TemplateState.start(TemplateState.java:301)
at com.intellij.codeInsight.template.impl.TemplateManagerImpl.lambda$startTemplate$1(TemplateManagerImpl.java:163)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:216)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:177)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:167)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:153)
at com.intellij.codeInsight.template.impl.TemplateManagerImpl.startTemplate(TemplateManagerImpl.java:166)
at com.intellij.codeInsight.template.impl.TemplateManagerImpl.startTemplate(TemplateManagerImpl.java:184)
at com.intellij.codeInsight.template.impl.TemplateManagerImpl.startTemplate(TemplateManagerImpl.java:123)
at com.haulmont.jmixstudio.intellij.action.handler.JavaGenerateHandlerActionHandler.lambda$generate$0(JavaGenerateHandlerActionHandler.java:102)
at com.intellij.openapi.command.WriteCommandAction.lambda$runWriteCommandAction$4(WriteCommandAction.java:338)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:144)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:975)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:142)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:225)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:187)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:151)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:118)
at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:338)
at com.haulmont.jmixstudio.intellij.action.handler.JavaGenerateHandlerActionHandler.generate(JavaGenerateHandlerActionHandler.java:97)
at com.haulmont.jmixstudio.intellij.action.handler.JavaGenerateHandlerActionHandler.invoke(JavaGenerateHandlerActionHandler.java:66)
at com.haulmont.jmixstudio.intellij.ui.sd.ScreenControllerNotificationProvider$GenerateHandlerActionInfo.onClickNotificationBtn(ScreenControllerNotificationProvider.java:178)
at com.haulmont.jmixstudio.intellij.ui.CubaEditorNotificationPanel$1.actionPerformed(CubaEditorNotificationPanel.java:103)
at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:227)
at com.intellij.openapi.actionSystem.impl.ActionButton.lambda$performAction$2(ActionButton.java:206)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:381)
at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:206)
at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:524)
at java.desktop/java.awt.Component.processEvent(Component.java:6422)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4969)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4583)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4524)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2809)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:794)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:766)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:764)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:763)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:635)
at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$10(IdeEventQueue.kt:580)
at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:75)
at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:67)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:580)
at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)