Closed doviscn closed 5 months ago
把长词优先和词条置顶的 lua 禁用了(注释掉)再测试下
把长词优先和词条置顶的 lua 禁用了(注释掉)再测试下
原来的0.16版本没啥问题,升级到0.18后就这样了。
那你去 Squirrel 那里反馈好了
这里近一个月都没有 lua 大体积占用的东西改动,甚至还加了一个用于回收内存的 gc 函数,不太可能是配置的问题。
问一些问题:
search.lua 之前一直没有内存问题,16.2 也没人说有问题;但最近重写过;长词优先和置顶词 lua 曾经造成过鼠须管的内存问题。因为 librime 改动挺大的,librime-lua 那边有一些函数失效了,看看是不是有这个问题。
这个方案在 Fcitx5 内存泄露的还挺厉害的,只要打字就会上升内存占用,一次性打的句子越长内存占用越多。每次部署都会占用接近 1GB 左右的内存,然后就再也没有降下去。我开机不到一个小时反复打字测试了一会,内存就会从 65.8 MB 以下逐渐上升到 200 MB 的内存占用。我用 Squirrel 0.18 4 天都没有超过 100 MB 的内存占用。
每次部署都会占用接近 1GB 左右的内存,然后就再也没有降下去
Linux 上是这样的,ibus 也是这样。是词库过大导致的。和配置本身没什么关系,原版方案也这样,不过因为词库小,是变成 400 m,什么 lua 都没加。
一次性打的句子越长内存占用越多。内存就会从 65.8 MB 以下逐渐上升到 200 MB 的内存占用
你用的是最新的配置吗?
librime 什么版本。
之前有这种现象,是因为 librime-lua 的 bug。这个 bug 在 1.11 还是 1.10 这样修好的。最新的配置也做了兼容。
我用 Squirrel 0.18 4 天都没有超过 100 MB 的内存占用
也就是说没有内存泄漏的问题喽 @Redv123
我复现了,fcitx5 确实如此。另开一个 issue @Redv123 我看看能不能搞定
我用的就是仓库最新的配置,除了关掉 Emoji 以外没什么变化。除了输入超长句子以外,日常输入不会造成内存提升。
可能是模糊音的问题吗?
如果是这样:
3. 把 search.lua,长词优先 lua,和置顶词 lua 禁用了,再看看内存,还有问题吗?(排除指定 lua)
@mirtlecn 如果将 double_pinyin_flypy.schema.yaml
的这三项注释掉并重新部署后,仍然在涨
这样交流太累了,我不用 Squirrel,看谁用 Squirrel 来解决这个问题好了。
你把 rime.lua
里的 force_gc()
从 collectgarbage("step")
改成 collectgarbage()
试试看看还有没有问题?
不太可能是 lua 的问题,本身 librime-lua 就是每次处理候选就会 gc 回收内存,实际上 1.11 后本库里面的 force_gc 已经没用了,librime-lua 内部的 gc 比这猛多了
配置引起内存泄露大概率要么是 librime 的 bug(比如某个函数炸了),但 Weasel、fcitx5 android 明明内存都很稳;我还是倾向于是客户端的改动造成的
有问题的是试试最新的 CI 版吧(1.0),我简单试了下,内存很稳啊,怎么复现内存泄露?
尝试 CI 版,我测试没泄露问题。那边的 issue 也被关掉了。
配置是不太可能引发一个前端的内存泄露问题的,至今为止碰到的都是 librime(lua)或者前端自己的问题。
还有问题的话
提供更多信息另开 issue。锁了
内存随着使用时间而增长,不知道是否跟lua有关,目前使用的是默认配置并且部署后退出进程重新开始的。
环境:M2 max,mac 14.4.1