6

当我尝试编辑一个使用 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, file-rss:0kB, shmem-rss:68kB

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

(我在一个具有 4GB 内存的小型 Vm 上工作)。

4

1 回答 1

6

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

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

于 2021-01-10T19:04:34.770 回答