Golang Go语言中gopls.exe到底在干什么?cpu占用那么高

发布于 1周前 作者 eggper 来自 Go语言

win10 只是打开 vscode 和 golang 代码,也没有执行编译,为什么 gopls 的 cpu 占用到 20%,而且一会儿高一会儿低。 有老哥讲解吗?


Golang Go语言中gopls.exe到底在干什么?cpu占用那么高
18 回复

go 的 language server ,应该是在生成索引之类的吧

更多关于Golang Go语言中gopls.exe到底在干什么?cpu占用那么高的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


那也不需要%十几的 CPU 吧

#2 这可是个重活,50%往上都不奇怪,那么多依赖呢

语言服务分析依赖,任何语言都是一个大工程.不过一般是项目打开是分析好,后续开发写代码不应该还压力太大.

看了一下我的 gopls cpu 占用 0% ~ 5%

lsp 依赖 gopls

这应该是个很吃内存的服务,cpu 应该只在打开项目的时候比较高吧

这个东西很好费内存

问题是没有编译,项目二进制文件也没有运行,只是打开着项目源代码,gopls 就时不时的让电脑风扇转起来。

language server ,代码转到定义,查找引用这些都依赖这个,没有编译时它也会运行

#9 language server 本来做大的作用就是在你查看、编辑代码的时候提供语法高亮、错误提示、依赖查询、自动补全这些,编译和运行并不由它负责

更新下版本

直觉是可能遇到 bug 了,更新版本应该行

一般是高内存占用,CPU 的话要看具体情况了

在索引没事的。经常升级就好。

go1.18 cpu 时不时 90%

我也是,现在好了

作为IT领域的Go语言专家,对于Go语言相关的工具和性能问题有着深入的了解。针对您提出的关于gopls.exe的CPU占用问题,以下是我的专业解答:

gopls(Go Language Server)是Go语言的一个语言服务器,它主要与编辑器(如VS Code)进行交互,提供代码补全、语法检查、重构等高级代码编辑和开发功能。安装gopls可以显著增强编辑器的Go语言开发体验。

关于gopls.exe CPU占用高的问题,这通常是由多种因素导致的。一方面,gopls在后台运行时会进行大量的代码分析和处理工作,以提供实时的代码补全和错误检查等功能,这可能会占用一定的CPU资源。另一方面,如果编辑器中的Go语言项目较大或代码较复杂,gopls的处理负担也会相应增加,从而导致CPU占用率上升。

为了降低gopls.exe的CPU占用率,您可以尝试以下方法:

  • 优化Go语言项目的代码结构,减少不必要的复杂性。
  • 升级gopls到最新版本,以获得更好的性能和稳定性。
  • 在编辑器中调整gopls的相关设置,如降低代码补全的实时性要求等。

希望以上解答能够帮助您更好地理解gopls.exe的作用以及降低其CPU占用率的方法。

回到顶部