Javascript 为什么Node process.memoryUsage和Chrome performance.memory的值不同?
我正在我的electron应用程序中进行一些内存分析,并使用Javascript 为什么Node process.memoryUsage和Chrome performance.memory的值不同?,javascript,node.js,memory,electron,chromium,Javascript,Node.js,Memory,Electron,Chromium,我正在我的electron应用程序中进行一些内存分析,并使用--启用精确内存信息标志运行,我发现有两种方法可以获取有关当前内存分配的信息:节点进程.memorySage()和色度性能.memory。以下是每次调用返回的值: // process.memoryUsage() { "rss": 631332864, // ~ 602.09 MB "heapTotal": 97619968, // ~ 93.10 MB "heapU
--启用精确内存信息
标志运行,我发现有两种方法可以获取有关当前内存分配的信息:节点进程.memorySage()
和色度性能.memory
。以下是每次调用返回的值:
// process.memoryUsage()
{
"rss": 631332864, // ~ 602.09 MB
"heapTotal": 97619968, // ~ 93.10 MB
"heapUsed": 91908280, // ~ 87.65 MB
"external": 83524574 // ~ 79.66 MB
}
// performance.memory
{
"totalJSHeapSize": 177817582, // ~ 169.58 MB
"jsHeapSizeLimit": 1107296256, // 1056 MB
"usedJSHeapSize": 175333878 // ~ 167.21 MB
}
正如您所看到的,这些值差别很大,但我希望totalJSHeapSize
和usedJSHeapSize
与performance.memory
中的heapTotal
和heapsed
相同。为什么它们不同?一个被认为更准确吗?它们的意思不同吗
对于更多上下文,我将在electron browser窗口的dev tools中运行这两个命令,并使用以下选项打开浏览器窗口:
{
// ...
webPreferences: {
nodeIntegration: true,
backgroundThrottling: false,
}
}
谢谢大家!