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
相关推荐
white.tie13 小时前
vscode配置golang
ide·vscode·golang
mashagua15 小时前
本地访问autodl的jupyter notebook
ide·python·jupyter·autodl
DaphneOdera1715 小时前
Jupyter | jupyter notebook 使用 conda 环境
ide·jupyter·conda
一只积极向上的小咸鱼15 小时前
jupyter本地配置
ide·python·jupyter
4v1d15 小时前
Jupyter的使用分享
ide·python·jupyter
艾伦~耶格尔17 小时前
IDEA 配置 Git 详解
java·ide·git·后端·intellij-idea
HoneyMoose17 小时前
大厂笔试现已经禁用本地IDE怎么看
ide
十画_8241 天前
Visual Studio 字体与主题推荐
ide·visual studio
A乐神2 天前
pycharm 配置篇
ide·python·pycharm
alex18012 天前
vscode安装及c++配置编译
c++·ide·vscode