You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Deno 1.27.2中memoryUsage返回rss小于heapTotal的异常问询

Deno v1.27.2中Deno.memoryUsage()返回的rss(驻留集大小)小于heapTotal异常问题

我们在所有基于Deno v1.27.2的应用中遇到一个异常:Deno.memoryUsage()返回的rss(驻留集大小)数值小于heapTotal。具体表现为:

  • 该问题近几日才出现
  • 部分应用启动初期rss值较高,随后会降至heapTotal以下
  • 已在多应用、多设备、多开发者环境下复现,与所用框架无关

根据资料及Deno文档,我们的认知是:rss代表进程占用的RAM总内存,理论上应包含heapTotal、heapUsed以及调用栈等内存开销,因此rss数值不应小于heapTotal。

我们排查了Deno的Rust源码,发现其rss是通过以下函数获取:

pub fn total_physical_size(&self) -> usize {
   unsafe { v8__HeapStatistics__total_physical_size(self) }
}

该函数实际是从V8引擎获取total_heap_size()的值。

我们通过以下代码采样内存数据,所有应用均得到一致的异常结果:

setInterval(() => {
   console.log(Deno.memoryUsage());
}, 500)

某应用的采样数据示例:

{ rss: 4423680, heapTotal: 4849664, heapUsed: 3894252, external: 29347 }
{ rss: 4423680, heapTotal: 4849664, heapUsed: 3906964, external: 33617 }
...
{ rss: 4423680, heapTotal: 4849664, heapUsed: 3882260, external: 25077 }

想请教:

  • 是否有人遇到过或了解这个问题?
  • 我们是否完全误解了rss的定义?
  • Deno中的rss与Node.js中的rss是否存在定义上的差异?

内容的提问来源于stack exchange,提问作者mksnooty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:55:24