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

2024-04-18 01:52

本文主要是介绍TLS v1.3 导致JetBrains IDE jdk.internal.net.http.common CPU占用高,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发环境

GoLand版本:2022.3.4

问题原因

JDK 中的 TLS v1.3 实现引起

解决办法

  • 使用 SOCKS 代理代替HTTP代理

在GoLand中设置

  • 禁用 Space 和 Code With Me 插件

  • 禁用 TLS v1.3,参考:https://stackoverflow.com/questions/54485755/java-11-httpclient-leads-to-endless-ssl-loop

禁用 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.FullNameWrite-Host "Updated: $($file.FullName)"}
}

参考

  1. https://youtrack.jetbrains.com/issue/IDEA-283482

这篇关于TLS v1.3 导致JetBrains IDE jdk.internal.net.http.common CPU占用高的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/913457

相关文章

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl