TLS v1.3 导致JetBrains IDE jdk.internal.net.http.common CPU占用高

开发环境

GoLand版本:2022.3.4

问题原因

JDK 中的 TLS v1.3 实现引起

解决办法

  • 使用 SOCKS 代理代替HTTP代理

禁用 TLS v1.3方法

这里以IDEA为例,安装路径为:D:\Applications\JetBrains\IntelliJ IDEA 2022.3.3

修改文件:D:\Applications\JetBrains\IntelliJ IDEA 2022.3.3\jbr\conf\security\java.security

在 jdk.tls.disabledAlgorithms= 添加 TLSv1.3 ,从而禁用 TLS v1.3

如果你装了 JetBrains 多个 IDE ,包括IDEA,PyCharm,GoLand等,一个一个修改文件比较麻烦,Windows系统可以使用下面脚本(其他系统思路类似),新建文件:fix-high-cpu-usage.ps1

复制代码
$paths = @(
    'D:\Applications\JetBrains\CLion 2022.3.3\jbr\conf\security',
    'D:\Applications\JetBrains\DataGrip 2022.3.3\jbr\conf\security',
    'D:\Applications\JetBrains\GoLand 2022.3.4\jbr\conf\security',
    'D:\Applications\JetBrains\IntelliJ IDEA 2022.3.3\jbr\conf\security',
    'D:\Applications\JetBrains\PyCharm 2022.3.3\jbr\conf\security',
    'D:\Applications\JetBrains\WebStorm 2022.3.4\jbr\conf\security'
)

foreach ($path in $paths) {
    Get-ChildItem -Path $path -Recurse -File -Filter "java.security" | ForEach-Object {
        $file = $_
        $content = Get-Content -Path $file.FullName

        $updatedContent = $content | ForEach-Object {
            if ($_ -match "jdk.tls.disabledAlgorithms=SSLv3,") {
                $_ -replace "SSLv3", "TLSv1.3, SSLv3"
            } else {
                $_
            }
        }

        $updatedContent | Set-Content -Path $file.FullName
        Write-Host "Updated: $($file.FullName)"
    }
}

参考

  1. https://youtrack.jetbrains.com/issue/IDEA-283482
相关推荐
Costrict5 小时前
解锁新阵地!CoStrict 现已支持 JetBrains 系列 IDE
大数据·ide·人工智能·深度学习·自然语言处理·ai编程·visual studio
AlphaFinance5 小时前
Windows下Vscode连接到WSL的方法
ide·vscode·编辑器
techdashen21 小时前
圆桌讨论:Coding Agent or AI IDE 的现状和未来发展
ide·人工智能
止观止1 天前
如何开发 VSCode 内置扩展:从零开始构建最简扩展
ide·vscode·编辑器
Aevget1 天前
「Java EE开发指南」用MyEclipse开发的EJB开发工具(二)
java·ide·java-ee·eclipse·myeclipse
AI视觉网奇1 天前
pycharm 默认终端设置 cmd
ide·python·pycharm
yudiandian20141 天前
03 Eclipse 配置 JDK 环境
java·ide·eclipse
彦楠1 天前
IDEA实用快捷键
java·ide·intellij-idea
热爱生活的五柒2 天前
vscode左边打开文件后会覆盖上一个打开的文件,有什么不覆盖的方法
ide·vscode·编辑器
假装我不帅2 天前
wsl+vscode开发.net项目
ide·vscode·.net