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
相关推荐
界面开发小八哥1 天前
「Java EE开发指南」如何使用MyEclipse中的Web Fragment项目?
java·ide·java-ee·eclipse·myeclipse
充气大锤1 天前
从0开始配置conda环境并在PyCharm中使用
ide·pycharm·conda
QL.ql2 天前
vscode的ws环境,esp32s3连接wifi
ide·vscode·编辑器
阿波罗尼亚2 天前
@Autowired @Resource IDE警告 和 依赖注入
ide
坠金2 天前
不同ide回到上一个文件快捷键
ide
十秒耿直拆包选手2 天前
IDE:vscode的vue3模板
javascript·ide·vscode
Wallace Zhang2 天前
STM32 - Embedded IDE - GCC - 解决LWRB库在GCC编译器会编译失败,在ARMCC编译器时却正常编译
ide·stm32·嵌入式硬件
QL.ql3 天前
vscode的wsl环境,ESP32驱动0.96寸oled屏幕
ide·vscode·编辑器
六月闻君3 天前
Jupyter 使用特定的虚拟环境配置
ide·python·jupyter