[求助] emacs 启动时间变得很长

最近工作环境的 emacs 启动差不多要8/9 秒,虽然重启的次数很少,但是总觉得如鲠在喉 :rofl:

我尝试了一下,不加载插件启动 emacs 也很慢 :neutral_face: emacs -q --eval='(message "%s" (emacs-init-time))'

我只记得这样的情况大概出现在我安装了几个系统字体之后。。。但是删除了字体之后,emacs 的启动时间还是没啥变化。

不知道怎么排查这种问题 :hear_no_evil:,有没有朋友知道这是什么情况?

你电脑是不是要换了…

啊这 :rofl: 我开个 vscode 都比 eamcs 快了现在。 这不科学啊。

我运行 emacs 的环境:

  • ubuntu 18.04 虚拟机
  • 分配内存: 2.5G
  • emacs 27.2

你宿主机的系统是什么,运行在什么硬盘上?

你对比的 vscode 是否运行在同一个系统中?

宿主机系统是Win10,硬盘的话是虚拟机和vscode (宿主机)都在普通的机械硬盘里。

不太清楚我的 emacs 在加载插件之前干啥,咋这么慢😂

  1. 虚拟机资源有点少。

  2. 字体是否彻底删除?

  3. -Q 比小 -q 更严格。小 -q 多加载了很多额外的内容:

    $ diff -u <(emacs -Q -nw --batch --eval "(mapcar #'message load-path)" 2>&1) \
              <(emacs -q -nw --batch --eval "(mapcar #'message load-path)" 2>&1)
    --- /dev/fd/63  2021-09-13 21:07:05.000000000 +0800
    +++ /dev/fd/62  2021-09-13 21:07:05.000000000 +0800
    @@ -1,3 +1,10 @@
    +/usr/local/share/emacs/site-lisp
    +/usr/local/share/emacs/site-lisp/autoconf
    +/usr/local/share/emacs/site-lisp/cask
    +/usr/local/share/emacs/site-lisp/cmake
    +/usr/local/share/emacs/site-lisp/gettext
    +/usr/local/share/emacs/site-lisp/git
    +/usr/local/share/emacs/site-lisp/libidn
    /usr/local/Cellar/emacs/27.1/share/emacs/27.1/lisp
    /usr/local/Cellar/emacs/27.1/share/emacs/27.1/lisp/vc
    /usr/local/Cellar/emacs/27.1/share/emacs/27.1/lisp/url
    
2赞

没遇到过,默认啥都不加,毫秒级的打开,我在linux下完整配置启动基本上在3秒-4秒内第一次启动,第二次就是1-2秒了,但是在mac和win上启动就很慢,mac上最快也要4秒了。第二次启动一般在3秒左右,win就更慢了

感谢回复,学到了 :smile:

不过今早试了下,重新删除了所有字体,重新编译了 emacs 之后还是老样子 :man_kneeling:

可能还是字体/桌面的问题,试试 -nw,或者重装虚拟机。

:hear_no_evil: 惊了 emacs -nw 可以,1s 左右就打开了。

另外我怀疑是字体问题的原因是,我每次安装了新的字体 emacs 都会:

map unicode blocks

image

应该是你安装过某字体但没删除干净,或者配置当中用了不存在的字体,导致该扩展每次都尝试映射字体,但是又不成功:

https://github.com/rolandwalker/unicode-fonts/blob/e3942fe40b418bfb2dc4e73633e09195437fef01/unicode-fonts.el#L4939-L4950

1赞

你的回复提醒了我,我的 eamcs 启动慢应该和这个包有关系。

看了项目的 readme 确实提到了,会让启动速度变慢。 :thinking: