请教emacs占用内存持续增加的原因

虚拟内存有大小限制的,除非专门配置,否则不会无限制增大

这就不太懂了,我之前在论坛上提过问,[求助]怎么排查org 导出pdf速度很慢占用内存很大

Emacs占用内存40G,我内存才16G。

:cry: (13.29.5 malloc_trim) This function is missing on some platforms: macOS 11.1,…

malloc-trim 好像并不能在所有的系统上用, 那么在 macOS 这样的坑爹系统上有没有其他的替代方案呢? (还是只能够设置一个很小的上限妥协呢? )

症状: 因为启动的时候设置了一个较大的阀值, 如果从零开始配置的话就会看到进程管理器里面的 Emacs 内存暴涨 (up-to 2~3 GB💦), 尽管最终会掉下来, 但是稳定在 1 GB 左右就不会继续掉了, 而 Emacs 中的 Memory Report 总占用在 300MB 左右.

配置文件: (macOS 13.3, emacs-plus@30)

(let ((normal-gc-cons-threshold (* 32 1024 1024))
      (init-gc-cons-threshold most-positive-fixnum))
    (setq gc-cons-threshold init-gc-cons-threshold)
    (add-hook 'emacs-startup-hook
              (lambda () (setq gc-cons-threshold normal-gc-cons-threshold))))

目前是把 init-gc-cons-threshold 设成只比 normal-gc-cons-threshold 大一点.

看gcmh作者的说明,其实gs-cons-threshold设置16M就够了,最好不要超过512M