V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CUPAIR
V2EX  ›  PowerShell

PowerShell 启动慢

  •  
  •   CUPAIR · 2022-04-06 09:15:36 +08:00 · 7662 次点击
    这是一个创建于 987 天前的主题,其中的信息可能已经有所发展或是发生改变。

    pwsh:powershell7.15; powershell: powershellv1.0,不知道啥版本,就 win11 自带的 :

    • 配置oh-my-posh+posh-git两个模块,启动速度 1000ms-1100ms
    • $profile内容全部注释掉,启动速度,启动速度 500ms
    • pwsh -noprofile有明显停顿感(但感觉应该没 500ms 这么夸张了)
    • powershell -noprofile几乎没有延迟

    这个延迟太高了,不知道有什么优化方法没,stackoverflow上提到.net 框架升级,感觉不怎么靠谱,因为powershell -noprofile这个指令基本没啥延迟,所以感觉应该是配置文件优化的问题,有 v 友懂如何优化吗

    23 条回复    2024-07-20 21:08:40 +08:00
    ersic
        1
    ersic  
       2022-04-06 09:53:22 +08:00   ❤️ 4
    我之前用 oh-my-posh+posh ,配置了一大堆东西,感觉是慢了,现在在用 https://github.com/starship/starship
    hope4tomorrow
        2
    hope4tomorrow  
       2022-04-06 10:45:13 +08:00
    macos ,之前用 iterm2 + zsh ,用了 oh-my-zsh 和各种插件,启动 1s+,忍受不了,随即换成 wezterm, 目前丝滑到极致。。。
    Tumblr
        3
    Tumblr  
       2022-04-06 10:53:02 +08:00
    这让我想到了当年比拼 Windows 开机速度的时候,这个“我开机 10 秒”,那个“我开机 8 秒”,一定要争做那个最快的男人……
    nightwitch
        4
    nightwitch  
       2022-04-06 11:00:05 +08:00
    没什么优化的,powershell 就是很慢。
    如果对速度有要求建议自己写点 alias 就行了,主题之类的会很慢
    creanme
        5
    creanme  
       2022-04-06 11:00:37 +08:00
    我 pwshl 冷启动花了至少 6 秒。。。。真的离谱。再次启动就快多了,估计 500 多毫秒。
    ncepuzs
        6
    ncepuzs  
       2022-04-06 13:35:28 +08:00
    @ersic 同样是从 oh my posh 转向 starship prompt
    CUPAIR
        7
    CUPAIR  
    OP
       2022-04-06 14:19:08 +08:00
    @ersic 换了一下,启动速度 700-800ms ,感觉延迟还是高,但 starship 默认的主题挺简洁的,好看
    tuutoo
        8
    tuutoo  
       2022-04-06 14:37:59 +08:00
    我现在也在用 oh-my-posh+posh 可能电脑配置也有点关系 同样配置单位电脑要 2000ms - 4000ms 不等,家里的 400ms 左右。
    也是慢的不能忍受,看了下二楼这个好像不错,准备试一下。
    ersic
        9
    ersic  
       2022-04-06 15:03:28 +08:00
    @CUPAIR 我大概也是这个延迟,感觉没法再优化了。
    h404bi
        10
    h404bi  
       2022-04-06 15:40:59 +08:00
    就是很慢,我的配置文件加载基本 1500ms 以上,习惯了。
    356693212
        11
    356693212  
       2022-04-06 15:45:47 +08:00
    Loading personal and system profiles took 1798ms. 你可以二分法测试。谁知道你有什么配置和插件啊。
    CokeMine
        12
    CokeMine  
       2022-04-06 15:51:10 +08:00
    pwsh -noprofile 有的时候能卡到好几十秒才能加载出来(有时好几十秒,有时几秒,有时很快,5.x 7.x 版本都这样)
    加上 -noprofile 了肯定不是一些插件的问题
    网上搜了一些 用什么 ngen.exe 什么的方法都无效
    skinny
        13
    skinny  
       2022-04-06 15:52:57 +08:00   ❤️ 3
    试试加两个环境变量然后重启:
    POWERSHELL_TELEMETRY_OPTOUT=1
    POWERSHELL_UPDATECHECK=Off

    再慢就没有办法了。
    ecoo
        14
    ecoo  
       2022-04-06 15:59:43 +08:00
    @ncepuzs #6 我刚刚也换了,速度虽然差不多,但是真好看
    duke807
        15
    duke807  
       2022-04-06 16:05:06 +08:00
    我想知道怎麼測試啓動速度,我的 xfce 桌面,ctrl + alt + t 快捷鍵打開 shell 窗口太快了,完全沒法測速度啊。。。
    Lemeng
        16
    Lemeng  
       2022-04-06 16:15:09 +08:00
    习惯就好,也没啥大问题
    beetlerx
        17
    beetlerx  
       2022-04-06 16:38:57 +08:00
    一直用 msys2 + hyper ( https://hyper.is/) + oh-my-zsh
    CUPAIR
        18
    CUPAIR  
    OP
       2022-04-07 09:30:34 +08:00
    @skinny 速度没啥改观,这个去掉烦人的更新提示倒是很赞
    skinny
        19
    skinny  
       2022-04-07 10:11:38 +08:00
    @CUPAIR 这个更新检查因为一些网络问题会严重拖慢启动速度。因为一些中文编码问题退回 5.1 了,目前还挺快的,能忍受的范围。
    lelandsu
        20
    lelandsu  
       2022-10-17 10:49:01 +08:00
    是真的慢,希望谁有办法能这里回一句
    CUPAIR
        21
    CUPAIR  
    OP
       2022-10-17 13:53:59 +08:00
    @lelandsu 如果装了 conda ,conda init powershell 后大概会拖慢一秒左右启动时间,可以在你 powershell 的`$profile` 同级目录下的 `profile.ps1`里注释掉启动 conda 那个语句,然后自己设个 alias ,用 conda 时手动激活
    kawaiidora
        22
    kawaiidora  
       2023-11-22 19:42:47 +08:00
    装完 starship 后,载入时间在 600~700ms 之间,差强人意
    kawaiidora
        23
    kawaiidora  
       150 天前 via Android
    不带插件就很快,但凡装一个插件速度就慢下来了

    但是刚需 psreadline ,最后躺平了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3660 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:36 · PVG 18:36 · LAX 02:36 · JFK 05:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.