liuzh365
V2EX  ›  Java

idea 2021.2.2 社区版 + wsl2 卡炸了,开项目很慢

  •  
  •   liuzh365 · Sep 10, 2021 · 14985 views
    This topic created in 1883 days ago, the information mentioned may be changed or developed.

    网上冲浪的时候看到说最新的 idea 支持 wsl2 的开发环境,于是装了个最新版,把 wsl1 升到了 wsl2,然后 wsl 里面已经有 java 和 maven 环境了,然后我按网上的建议,把项目代码迁到 wsl 里面开发,发现 idea 非常的卡(开项目建索引),点一下鼠标都卡好几下的样子。我试了把代码和环境变量在 wsl 和 windows 来回迁,都有问题:

    ( 1 )开发环境、代码都在 wsl2 里面:idea 非常卡,根本没法正常使用。(怀疑跟 wsl2 比较拉的 IO 有关)而且不显示项目目录,只有一个 pom.xml 。我把.idea 缓存删掉之后重开,idea 直接闪退,再开的话就还是没有项目目录。。。。 ( 2 )开发环境在 wsl2,代码在 windows:idea 根本检测不到 wsl2 里面的 java 环境,一直显示 no sdk,手动指定也没用。 ( 3 )开发环境、代码都在 windows (我装 wsl2 干嘛?):wsl2 识别不了 windows 的 java.exe 环境,linux 应该是要二进制的 java 。而且这样就背离了装 wsl2 的初衷。

    是不是我哪里没装对啊?

    Supplement 1  ·  Sep 10, 2021
    版本号打错了,是 2021.2.1
    77 replies  •  2024-06-19 12:23:13 +08:00
    liuhuansir
    liuhuansir
    Sep 10, 2021
    1
    同样的情况,已经放弃了,写写 demo 倒是可以,啥时候 idea 有 vscode 的 remote 体验,真就完美了
    pota
    pota
    Sep 10, 2021
    2
    windows 和 wsl 内部 IO 特别慢,你把 idea 装到 wsl2 里面
    hingbong
    hingbong
    Sep 10, 2021
    3
    io 拉跨只跟 Windows 跨 Linux 有关系吧
    我是 idea,代码全在 wsl2 下跑的,界面在 Windows 用 projector-client
    projector-server 现在只支持 2020.3
    Macolor21
    Macolor21
    Sep 10, 2021
    4
    pom 的问题,右键 pom.xml 如果能弹出 Open As Maven Project,说明没有识别成 Maven 项目,点这个就好。
    azur
    azur
    Sep 10, 2021
    5
    mark,同迷惑,求一个 wsl2 使用的最佳实践
    liuzh365
    liuzh365
    OP
    Sep 10, 2021
    6
    @Macolor21 没用的,好像还是闪退
    liuzh365
    liuzh365
    OP
    Sep 10, 2021 via iPhone
    7
    我电脑是 i71165g7+16g+固态,这个配置不可能卡的。。idea 卡的时候,cpu 内存硬盘空闲都还很多
    statumer
    statumer
    Sep 10, 2021 via Android
    8
    何必用 WSL2 ? WSL2 就是个虚拟机,你自己开虚拟机和用 WSL2 体验是一样的。
    liuzh365
    liuzh365
    OP
    Sep 10, 2021 via iPhone
    9
    @statumer 要不是 windows 的命令行不好用。。wsl 既然存在,说明有他的用处啊
    lingxi27
    lingxi27
    Sep 10, 2021
    10
    用过 wsl,体验比 linux 桌面差远了,何必折腾自己
    shilianmlxg
    shilianmlxg
    Sep 10, 2021
    11
    @lingxi27 大佬 ,有什么 windows 好用的命令行,现在用的 cmder 。
    liuzh365
    liuzh365
    OP
    Sep 10, 2021 via iPhone
    12
    @lingxi27 架不住营销号尬吹=_=,上当了
    Macolor21
    Macolor21
    Sep 10, 2021❤️1
    13
    @liuzh365
    建议开虚拟机使用,你也可以用 Docker 开发,没必要环境全在 Linux 下。
    我现在是这样开发,开发环境,写代码是本地。DEBUG,运行环境是 Docker 的 JDK 环境(底层是镜像是 openjdk,系统是精简的 Ubuntu )使用起来其实和 Linux 没太多。这样你代码还是在本地,只不过所有运行环境都在 Linux 。
    如本地的 mysql,redis 等数据库和中间件,我写了个 Docker-Compose,然后 IDEA 运行的 Docker 容器指定 network 。
    开发代码放在虚拟机,这种思路对我来说很怪。
    我这一套思路是开发代码在本地,运行时,或者 Debug 时,编译然后放到容器去执行,这种更类似于生产环境把。

    PS: 我用的是 Ubuntu 桌面,但是 Docker 和操作系统没太大关系,你程序编译后还是运行在 Linux 下。使用起来和本地运行程序没区别。

    可以看下 2021.1 的 Feature,Run On Docker (好像是)
    Macolor21
    Macolor21
    Sep 10, 2021
    14
    @liuzh365
    还有一个,你觉得命令行不好用,需要使用其他命令(不太清除你这里有什么场景需要用到这个)
    如果是在 Java 程序的环境中执行,直接用 docker 的 exec
    如果是本地的,暂时不知道,我用 Linux
    ysn2233
    ysn2233
    Sep 10, 2021
    15
    建议 idea 装进 wsl2 用 xserver 转发用,除了输中文麻烦其他体验都不错。
    clf
    clf
    Sep 10, 2021
    16
    我是 IDEA 在 windows 下编程,然后运行的时候连接 wsl2 在上面跑。
    forbreak
    forbreak
    Sep 10, 2021
    17
    我已经弃了,我这边配置起来虽然不卡,但是狂吃内存,wsl2 占 4 、5G windows 下 idea 在占 4 、5G 玩个卵子。内存直接飙到 90%多 。wsl2 还是 vscode 的体验好。idea 一堆问题,svn 不能用,gradle 有问题,安卓有问题。什么启动到 wsl2 里面也是问题多多。 总之就是没法用。。。
    xiaoxuxu
    xiaoxuxu
    Sep 10, 2021
    18
    idea 对 wsl2 的支持应该只是 IO 层去访问 wsl2,idea 自身还是运行在 win 里,所以 IO 会非常慢。可以买个 x410 然后 idea 直接装 wsl2 里,速度还是很快的,就是界面有些小 bug,整体还算可用
    yEhwG10ZJa83067x
    yEhwG10ZJa83067x
    Sep 10, 2021
    19
    目前看来还是 vagrant+virtualbox 最合适
    lingxi27
    lingxi27
    Sep 10, 2021
    20
    @shilianmlxg 一般不用 windows,实在要用 gitbash 凑合能用
    6IbA2bj5ip3tK49j
    6IbA2bj5ip3tK49j
    Sep 10, 2021❤️3
    21
    这属于上了某些软吹的当。

    吹 WSL1 速度快,API 是 Clean Room 实现的,多牛逼,但是不提 API 兼容的复杂度,最后复杂到直接砍了。
    吹 WSL2 兼容好,但是不提 IO 速度一坨屎。


    还有一个 Windows Terminal,建议楼主去学习体验下,就能彻底放弃对 Windows 的幻想了。
    Saxton
    Saxton
    Sep 10, 2021
    22
    我也遇到了,我更新到了最新的 idea,只要一打开 pom.xml 秒卡死,我本来想开 JVM 调试工具的,结果连调试工具跟着一起卡死,最后放弃了
    EIJAM
    EIJAM
    Sep 10, 2021 via iPhone
    23
    不稀奇,wsl 就是个缝合怪胎,什么幺蛾子都会有
    ClutchBear
    ClutchBear
    Sep 10, 2021
    24
    Version: 2021.2.1
    Build: 212.5080.55
    24 August 2021
    刚刚看到最新版本是这个啊.
    mmdsun
    mmdsun
    Sep 10, 2021 via Android
    25
    用 vscode remote + WSL2 流畅的飞起。

    你使用姿势不对,去看 visual studio code 文档和 WSL 2 文档。
    zxCoder
    zxCoder
    Sep 10, 2021 via Android
    26
    @Macolor21 关键是 windows 用 docker 好像比较麻烦吧,还不如 WSL
    zxCoder
    zxCoder
    Sep 10, 2021 via Android
    27
    jetbrain 好像很多 ide 还没有跟 wsl2 完美结合
    zxCoder
    zxCoder
    Sep 10, 2021 via Android
    28
    @justrand 问一下这个具体是怎么配置开发环境的? ide 装在虚拟机里吗
    ch2
    ch2
    Sep 10, 2021
    29
    你需要把 goland 装在 wsl2 里,然后再用 x11 转发 gui 到 windows 上
    Macolor21
    Macolor21
    Sep 10, 2021
    30
    Macolor21
    Macolor21
    Sep 10, 2021
    31
    @zxCoder

    Windows 的 Docker 不是基于 WSL2 或 Hyper-V 么?我只知道部分机器安装可能麻烦些,实际用起来 Docker 应该比 WSL2 舒服把?(虽然我没用过 WSL2 )
    liuzh365
    liuzh365
    OP
    Sep 10, 2021 via iPhone
    32
    @ClutchBear 打错了,是 2.1
    liuzh365
    liuzh365
    OP
    Sep 10, 2021 via iPhone
    33
    @mmdsun spring 开发还是 idea 舒服点
    ikas
    ikas
    Sep 10, 2021
    34
    wsl2 io 提升是指 wsl2 内部操作 io 的提升
    当前阶段,你要么把 idea 也装到 wsl2 中..然后通过 wsgl 直接显示,要么通过远程,不管是 idea 远程过来或者只是远程部署与编译....
    说真的..当你的工作真的需要 linux 才能完成时,那才需要用 wsl2.比如我做安卓,需要编译下安卓,那么直接 wsl2 编译就很方便.
    aosp 源码直接在本地 ext4 分区.然后挂载到 wsl2
    BeautifulSoap
    BeautifulSoap
    Sep 10, 2021❤️6
    35
    ls 那么多人也真是的。。。虽说 wsl2 的确很多问题,但你们基本都是一个劲只会黑,也不给 lz 提供切实有效的解决方案。。。。。。

    作为用 wsl2 主力开发一年多没多少屁事的,我给 lz 个建议,lz 你直接把 idea 装 wsl2 里,所有开发环境也放到 wsl2 里,界面通过 x server 传到 win10,让你获得丝滑开发体验。这样的开发方针至今没出过什么幺蛾子(除了输入法麻烦了点)

    微软自己就出过怎么做的教程,总体来说可以说是极其简单

    https://techcommunity.microsoft.com/t5/windows-dev-appconsult/running-wsl-gui-apps-on-windows-10/ba-p/1493242

    也许有人会说你都完全塞 wsl2 了干嘛不用单独虚拟机,答案很简单,虚拟机能像 wsl2 这么轻量,文件操作方面和系统集成这么好,像 wsl2 这样多个虚拟机共用同一块内存,像 wsl2 这样 windows 和 linux 共用同一个 docker 的话,我也乐的迁移虚拟机
    ThisDay
    ThisDay
    Sep 10, 2021
    36
    所以我用 wslg,虽然也有一些 bug,但是最起码能用,windows 下面的 idea+wls2 基本不能用,全是问题
    @xgfan Windows Terminal 挺好用啊,有什么问题?
    u823tg
    u823tg
    Sep 10, 2021
    38
    还好吧,没遇到啥大问题。 不过 java 这种没必要环境要 wsl 吧。
    zeni123
    zeni123
    Sep 10, 2021
    39
    java 就不需要 WSL 了吧。shared folder 好了。 代码也不用共享了,共享 artifacts 好了。
    Zien
    Zien
    Sep 10, 2021 via iPhone
    40
    Java 没试过 和你一样的操作 C 没问题
    mawerss1
    mawerss1
    Sep 10, 2021❤️1
    41
    idea 装在 wsl2 里,用 x410 做客户端显示 gui,丝般顺滑,值得拥有
    yhrzpm
    yhrzpm
    Sep 10, 2021
    42
    wsl2 底层是个虚拟机吧
    kingfalse
    kingfalse
    Sep 10, 2021 via Android
    43
    Windows 就老老实实放 Windows 跑吧,wsl 到现在依旧是个玩具
    everyx
    everyx
    Sep 10, 2021
    44
    已放弃 wsl2,开几个 docker container 就卡的不要不要的,换到 archlinux,风扇不叫了,干啥流畅了 😂
    Trim21
    Trim21
    Sep 10, 2021 via Android
    45
    @xgfan 配置项不够多之类的还能算缺点,但是这歌帖子里说的这个性能差的问题不跑 benchmark 的话很难感觉的出来…
    OhYee
    OhYee
    Sep 10, 2021
    46
    @azur

    WSL2 + VSCode 体验挺不错的,开发体验起码不亚于 Mac 或 Linux 直接 VSCode (具体要和 IDE 比的话,就得看什么语言了,大部分应该 VSCode 都没啥大问题)
    Dragonphy
    Dragonphy
    Sep 10, 2021
    47
    jetbrains 就别硬搞 WSL 了,不合适,压根不合适,WSL+VS Code 才是大杀器,jetbrains+WSL 配合起来就像弱智,webstorm 在 wsl 上体验都不好。
    UnitTest
    UnitTest
    Sep 10, 2021
    48
    @BeautifulSoap 非常感谢你的分享, 我来得瑟一下, 前端用 wsl 开发比后端简单多了,
    前端无非就是索引一下 node_modules 文件, 启动调用 wsl 的 node 就行.
    我没尝试 java 开发, 我试了一阵 go 开发直接放弃了, 还是基于 windows 开发 go, 有了你这个帖子, 我感觉我重新燃起了希望...
    zzhzero
    zzhzero
    Sep 11, 2021
    49
    @Macolor21 Docker 和宿主机还是有关系的 如果你用的是非 Linux 系统,Docker 也是跑在 VM 上,本质和 wsl2 相同。
    charlie21
    charlie21
    Sep 11, 2021
    50
    @yhrzpm #42 理论上开了之后 win 都是一个虚拟机


    Hyper-V 安装在 win 上之后,此 win 就成了 Hyper-V 上的有一个虚拟机。除了 win 系统本身可以管理 Hyper-V 之外,win 和 Hyper-V 上的其他虚拟机没有本质区别

    v2ex.com/t/564215?p=1#r_7327114
    yhrzpm
    yhrzpm
    Sep 11, 2021
    51
    @charlie21 是这样没错。wsl 我记得是 1:1 翻译 api,运行效率会好一些。wsl2 就是纯 hyperv 虚机
    yhrzpm
    yhrzpm
    Sep 11, 2021
    52
    可以试试 x410 这个收费软件,我感觉运行 wsl 里的 idea 还挺流畅
    @yhrzpm
    changwei
    changwei
    Sep 11, 2021
    53
    wsl2 的 io 效率似乎也很差,如果有用过 webstorm 在 wsl2 里面起一个 nodejs+webpack 的前端项目就能看出差距了,启动时间差不多 wsl2 要慢一倍左右
    Dragonish3600
    Dragonish3600
    Sep 11, 2021 via iPhone
    54
    jetbrains 的锅比较大。最新版在我 linux 下都卡到爆,保存文件会直接界面卡死 60 秒,看 log 里面各种 storage timeout……不知道最新版用了什么 api..
    PatrickDingDing
    PatrickDingDing
    Sep 11, 2021
    55
    @Trim21 我日常用感觉挺省心也挺方便的,真没觉得有啥卡顿的。
    Damenly1
    Damenly1
    Sep 11, 2021
    56
    @xgfan 软吹直接反手给你扣个不会用的帽子[doge],提出个把 ide 装到 WSL2 这种方法,是真想得出来🤣
    ebony0319
    ebony0319
    Sep 11, 2021
    57
    mac->ssh 到 windows wls2 .感觉挺丝滑的,
    bgzo
    bgzo
    Sep 11, 2021
    58
    请问用的是 oh-my-zsh 吗? 我换到 bash 在某些场景下会好一些.
    https://github.com/spencerwooo/dowww/issues/17#issuecomment-457128479
    Jface
    Jface
    Sep 11, 2021
    59
    一直不会使用 wsl,有没有同学来给指南看看的。
    hingbong
    hingbong
    Sep 11, 2021 via Android
    60
    不知道 ide 装到 wsl 有什么问题,https://github.com/JetBrains/projector-installer 也有 wsl 下的指引
    ztaosony
    ztaosony
    Sep 11, 2021
    61
    这里一般这种时候先喷微软再说,没人解决问题
    ilaipi
    ilaipi
    Sep 11, 2021
    62
    x410 使用中文有问题吗?

    @yhrzpm #51
    @mawerss1 #40
    GrayXu
    GrayXu
    Sep 11, 2021
    63
    wsl2 的 IO 慢指的是和 windows 下 FS 交互的 IO 慢。建议全部迁移到 wsl2 下。
    xianzhe
    xianzhe
    Sep 11, 2021 via Android
    64
    idea 自己问题,之前没这毛病,yourtrack 上已经一堆 issue 了。我现在拿 vscode 暂时顶上,之前 jetbrains 声称 2021.2.1 已经修复,并关闭了一些 issue,但是实际上没啥用
    xianzhe
    xianzhe
    Sep 11, 2021 via Android
    65
    查看 idea 日子你会发现一大堆 thread dump,貌似文件读写有问题
    xianzhe
    xianzhe
    Sep 11, 2021 via Android
    66
    重启 wsl 可能会改善
    yhrzpm
    yhrzpm
    Sep 11, 2021
    67
    @ilaipi 不太清楚,没有中文需求
    fannas
    fannas
    Sep 11, 2021 via iPhone
    68
    问个问题,java 是在 jvm 运行的程式,纯粹的源码在哪里运行差别会有很大吗
    liuzh365
    liuzh365
    OP
    Sep 12, 2021
    69
    @ladypxy 反正我个人感觉 2021 比 2020 卡多了。。。
    INTOX8O
    INTOX8O
    Sep 13, 2021
    70
    @liuzh365 是的,我的还伴有高 cpu 占用,退回 2020 就正常
    whee
    whee
    Oct 13, 2022
    71
    22 年底尝试 wsl2 ,跑了一天多,目前看除了新加载项目的时候会比较卡,其他时候可用了
    环境-win10+ wsl2
    whee
    whee
    Oct 13, 2022❤️1
    72
    补充一下安装方案,环境和代码都在 wsl2 里面,idea/goland 放在 win ,前面有朋友说 webstorm,回来我再试试
    whee
    whee
    Oct 18, 2022
    73
    回来继续补充,经过几天的尝试,总的来说,jet 家的 ide 用起来还是比较吃劲,会有卡顿,io 还是不行,表现为打开 /编辑文件时的卡顿。
    继续尝试一下 vscode
    Derrick92
    Derrick92
    Oct 23, 2022
    74
    @whee 蹲坑,看看层主使用的如何? jetbrains+WSL2 表现这么差嘛
    Yanickkk
    Yanickkk
    Jun 15, 2024
    75
    2024 年尝试,环境和代码都在 wsl2 里面,idea/goland 放在 win ,依旧卡顿,gateway 常出现无法连接的问题
    31VDVx0175zKNs91
    31VDVx0175zKNs91
    Jun 19, 2024
    76
    @yannxia 你好请问你是直接打开 wsl2 的项目还是通过 gateway 打开?我关闭了防火墙和 win 自带的杀毒,但是用 idea 运行 wsl2 的 spring boot 项目的时候 service 不会显示端口号。你有这个问题吗?我用 vscode 就一切正常
    Yanickkk
    Yanickkk
    Jun 19, 2024
    77
    @test10101 #75 wsl2 打开可以运行,但是很卡……感觉 idea 本身在 windows 就有问题,也试了 gateway ,结果 Rustover 直接无法启动。。只有 vscode 全面正常,但是不习惯,不想折腾了,还是装了一个虚拟机。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1603 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 160ms · UTC 16:29 · PVG 00:29 · LAX 08:29 · JFK 11:29
    ♥ Do have faith in what you're doing.