Commaide 在分析文件时被 OOM 杀死

问题描述

当我尝试编辑我使用 10 个模块(主要是 Cro::HTTP )的文件并且在分析开始之后,逗号总是被 oom 杀死。我可以看到许多 raku 进程正在运行(为了分析?):

日志:

janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   4722]  1000  4722      654       29    40960        0             0 comma.sh
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   4771]  1000  4771  1085318   155576  1949696        0             0 java
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   4825]  1000  4825      783       35    40960        0             0 fsnotifier64
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5036]  1000  5036    52039    24008   364544        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5038]  1000  5038    51119    25114   372736        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5039]  1000  5039    52391    23805   368640        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5047]  1000  5047    51473    22787   352256        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5049]  1000  5049    51129    22929   356352        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5050]  1000  5050    49796    21981   348160        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5052]  1000  5052    50929    25154   368640        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5057]  1000  5057    52078    23535   364544        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5066]  1000  5066    51071    22735   348160        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5075]  1000  5075    51254    22555   356352        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5081]  1000  5081    49423    21271   335872        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5093]  1000  5093    49375    21590   344064        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5100]  1000  5100    50784    22763   352256        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5104]  1000  5104    49360    21141   335872        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: [   5115]  1000  5115    46338    14169   282624        0             0 rakudo
janv. 09 19:47:42 samuel-Virtual-Machine kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/user@1000.service,task=java,pid=4771,uid=1000
janv. 09 19:47:42 samuel-Virtual-Machine kernel: Out of memory: Killed process 4771 (java) total-vm:4341272kB,anon-rss:622236kB,file-rss:0kB,shmem-rss:68kB,UID:1000 pgtables:1904kB oom_score_adj:0
janv. 09 19:47:42 samuel-Virtual-Machine kernel: oom_reaper: reaped process 4771 (java),now anon-rss:0kB,shmem-rss:68kB

这是正常行为吗?是否有限制并行 raku 进程数量的选项?

(我在一个带有 4GB 内存的小型虚拟机上工作)。

解决方法

预计逗号将调用选定的 Raku 编译器以从模块中获取符号。这应该在开始使用特定模块编辑文件时发生一次,然后被缓存(并且缓存作为一个整体贯穿整个项目)。

除了产生的 rakudo 实例的数量之外,java 进程本身的内存使用量看起来有点偏高。也许值得让逗号开发人员看一看,并提供一些更详细的信息。值得注意的是,帮助菜单有一个“收集日志和诊断数据”选项(它将提供一个可以发送给开发人员的 zip 文件,但请注意,它也可能包含有关您正在处理的项目的一些数据)。任何其他有助于复制的信息(例如正在使用的模块列表)也很有用。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...