gpt4 book ai didi

v8 - 限制 V8 上下文的内存

转载 作者:行者123 更新时间:2023-12-04 01:33:17 25 4
gpt4 key购买 nike

我有一个脚本服务器,可以在我们的服务器上运行任意 java 脚本代码。在任何给定时间都可以运行多个脚本,我想防止一个行为不端的脚本耗尽机器上的所有内存。我可以通过让每个脚本在其自己的进程中运行并使用现成的监视工具来监视每个进程的 ram 使用情况、终止并重新启动那些失控的进程来做到这一点。我不想这样做,因为我想避免每次这些脚本之一变得疯狂时重新启动二进制文件的成本。 v8 中有没有一种方法可以设置每个上下文/隔离内存限制,我可以使用它来对正在运行的脚本进行沙箱处理?

最佳答案

现在应该很容易做到

  • context.EstimatedSize() 获取上下文的估计大小
  • isolate.TerminateExecution() 当上下文超出可接受的内存/CPU 使用率/无论什么

如果存在无限循环(或其他阻塞,例如高 CPU 计算),为了获得访问权限,我认为您可以使用 isolate.RequestInterrupt()

关于v8 - 限制 V8 上下文的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10285737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com