V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ampedee
V2EX  ›  问与答

vscode 写 go 项目吃了 6G 内存,有办法优化吗

  •  
  •   ampedee · 2022-07-23 00:15:21 +08:00 · 3991 次点击
    这是一个创建于 891 天前的主题,其中的信息可能已经有所发展或是发生改变。

    微服务需要开多个项目,今天 vscode 开了 6 个 go 项目吃了 6G 内存,活动监视器里发现启动了 6 个 gopls 进程,每个平均 4-500mb 内存,加起来占了 3 个 G ,人都麻了。

    理论上 gopls 应该是支持多个客户端的(-remote=auto),有人知道 vscode 应该怎么设置么?

    第 1 条附言  ·  2022-07-23 09:21:50 +08:00

    现在的配置是 mbp 2019 16g,还有个内存大户chrome,两个一起开肉眼可见开始卡

    23 条回复    2022-07-24 18:25:41 +08:00
    westoy
        1
    westoy  
       2022-07-23 01:10:12 +08:00
    克服恐惧的办法就是直面恐惧

    克服内存焦虑的办法就是把内存加满
    liaohongxing
        2
    liaohongxing  
       2022-07-23 08:04:08 +08:00
    买个 8G 或者 16G 内存插上 ,现在没有 32G 都不好意思。
    nuyan
        3
    nuyan  
       2022-07-23 09:49:50 +08:00
    mbp 能加内存?
    felixcode
        4
    felixcode  
       2022-07-23 09:53:24 +08:00   ❤️ 5
    问问 V 站里那些说 16G 内存用于开发完全足够的人怎么解决的。
    Maboroshii
        5
    Maboroshii  
       2022-07-23 10:21:31 +08:00 via Android
    看下 vscode go 插件的文档,应该有 gopls 启动参数配置说明的。我用 coc.nvim ,那个里面反正是可以配置
    stevenshuang
        6
    stevenshuang  
       2022-07-23 11:08:47 +08:00 via iPhone
    @Maboroshii 说到 coc.vim 请教一下,之前用 vim 配置 coc 写 go ,打开项目就启动 2 个 gopls 。但是 youcompleteme 就不存在这个情况,看了网上一些配置,配置了感觉没啥用😐,不知道您遇到过没?
    Maboroshii
        7
    Maboroshii  
       2022-07-23 11:32:49 +08:00 via Android
    @stevenshuang 没注意诶,你是不是也用 vim-go 了? 这个里面好像也要配置启动参数
    stevenshuang
        8
    stevenshuang  
       2022-07-23 11:39:50 +08:00
    @Maboroshii 之前粘贴了别人的插件列表,忘了之前的配置了,没准把 vim-go 引进来了。后来就改用 youcomplete 了。
    statumer
        9
    statumer  
       2022-07-23 11:51:40 +08:00 via iPhone
    才占 6g ,建议改成 PC 编程或者 Remote SSH ,笔记本的内存捉襟见肘。
    我开发机是 64g 内存,体验已经很不错,按韦老师的说法 100g 以上内存才够程序员用。
    ampedee
        10
    ampedee  
    OP
       2022-07-23 13:14:37 +08:00 via iPhone
    @felixcode 再别说了
    ampedee
        11
    ampedee  
    OP
       2022-07-23 13:16:11 +08:00 via iPhone
    @statumer 我还没跑程序和 docker ,只是多开几个项目看看代码就这样了
    lostpg
        12
    lostpg  
       2022-07-23 13:40:53 +08:00   ❤️ 1
    "go.languageServerFlags": [
    "-remote=auto",
    "-rpc.trace"
    ],
    yiiouo
        13
    yiiouo  
       2022-07-23 13:57:50 +08:00
    我用 vscode 写前端,开了 4 、5 个项目就占了 10G 多的内存...
    Daming
        14
    Daming  
       2022-07-23 14:01:37 +08:00
    @nuyan #3
    当然可以加,不过对手艺要求有点高,还要改下电阻

    可以去 B 站看看维修厮的视频
    richangfan
        15
    richangfan  
       2022-07-23 15:35:05 +08:00
    少开点浏览器页面
    visitant
        16
    visitant  
       2022-07-23 15:37:28 +08:00   ❤️ 3
    用 vscode 的 workspace ,在一个 workspace 里就是一个 gopls 进程了
    march1993
        17
    march1993  
       2022-07-23 15:49:17 +08:00
    remote 到开发机呗。开发机的内存拉满。
    bootvue
        18
    bootvue  
       2022-07-23 16:04:08 +08:00
    你这让 java 情何以堪
    lower
        19
    lower  
       2022-07-23 19:53:50 +08:00
    remote 真的好用么?我有次试连到 wsl ,卡的要死啊……
    ampedee
        20
    ampedee  
    OP
       2022-07-23 21:49:29 +08:00 via iPhone
    @lostpg 这样配置可行,之前我没加第二个 rpc 的选项
    nuyan
        21
    nuyan  
       2022-07-23 23:19:14 +08:00
    @Daming 感谢我看看去
    yianing
        22
    yianing  
       2022-07-24 16:36:38 +08:00
    https://github.com/golang/tools/blob/master/gopls/doc/daemon.md ,gopls 官方文档,这个 daemon 模式只能节省一部分内存,还是加内存最好用
    jaoyina
        23
    jaoyina  
       2022-07-24 18:25:41 +08:00 via iPhone
    6G 还算好吧,毕竟开了好几个项目。难道你电脑才 8G 内存?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3297 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:43 · PVG 19:43 · LAX 03:43 · JFK 06:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.