使用嵌入式v8

时间:2019-06-20 13:57:13

标签: v8 embedded-v8

我在我的cpp应用程序中使用了嵌入式v8。当我每秒从快照创建一个隔离(预先创建),并在十秒钟后调用isolate-> Dispose()。随着时间的流逝,RSS内存不断增加,并且该过程最终被系统终止。

将v8更新到最新版本。

创建:

Isolate::CreateParams create_params;
create_params.array_buffer_allocator = ArrayBuffer::Allocator::NewDefaultAllocator();

create_params.blob = &blob;
auto isolate = Isolate::New(create_params);

Local<Context> context = Context::New(isolate, NULL, global,
                          v8::MaybeLocal<v8::Value>(),
                          v8::DeserializeInternalFieldsCallback(
                                  DeserializeInternalFields, static_cast<void*>(&w->deserialized_data)));

处置:

isolate->Dispose()

放置所有v8隔离株后,RSS应该返回到较低级别,但是RSS仍然很高。快照的大小约为40M,该过程开始后几秒钟,RSS的费用约为GB。

0 个答案:

没有答案