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
相关推荐
Rverdoser10 小时前
Android Studio 多工程公用module引用
android·ide·android studio
free_girl_fang13 小时前
高效作业之Mybatis缓存
java·ide·缓存·mybatis
星寂樱易李14 小时前
pycharm 使用
ide·python·pycharm
心安成长15 小时前
IntelliJ IDEA快速接入LLMs大模型API
java·ide·intellij-idea
tekin1 天前
vscode php Launch built-in server and debug, PHP内置服务xdebug调试,自定义启动参数配置使用示例
ide·vscode·php·launch.json·runtimeargs·php内置服务自定义参数
Tp_jh1 天前
推荐一款非常好用的C/C++在线编译器
linux·c语言·c++·ide·单片机·unity·云原生
曹申阳1 天前
vscode 创建 vue 项目时,配置文件为什么收缩到一起展示了?
ide·vue.js·vscode
路在脚下@1 天前
IntelliJ IDEA的快捷键
java·ide·intellij-idea
Pioneer000012 天前
IDE 使用技巧与插件推荐
ide
李少兄2 天前
IntelliJ IDEA 中创建目录时 `.` 和 `/` 的区别
java·ide·intellij-idea