读取系统指标
此示例演示如何使用 Deno 的内置方法读取系统指标,例如内存信息、负载平均值和内存使用情况。
获取总内存、空闲内存、可用内存、用于缓冲区和缓存的内存以及交换空间等指标的详细信息。为提高可读性,值已从千字节 (KB) 转换为兆字节 (MB)。
const memoryInfo = Deno.systemMemoryInfo();
console.log("System Memory Info:");
console.log(`Total Memory: ${memoryInfo.total / 1024 / 1024} MB`);
console.log(`Free Memory: ${memoryInfo.free / 1024 / 1024} MB`);
console.log(`Available Memory: ${memoryInfo.available / 1024 / 1024} MB`);
console.log(`Buffers: ${memoryInfo.buffers / 1024 / 1024} MB`);
console.log(`Cached: ${memoryInfo.cached / 1024 / 1024} MB`);
console.log(`Swap Total: ${memoryInfo.swapTotal / 1024 / 1024} MB`);
console.log(`Swap Free: ${memoryInfo.swapFree / 1024 / 1024} MB`);
负载平均值表示在这些时间段内活跃进程的平均数量,可提供系统 CPU 负载和整体活动情况的洞察。
const loadAvg = Deno.loadavg();
console.log("Load Averages:");
console.log(`1 Minute Load Average: ${loadAvg[0]}`);
console.log(`5 Minute Load Average: ${loadAvg[1]}`);
console.log(`15 Minute Load Average: ${loadAvg[2]}`);
获取内存使用详情,例如外部内存、常驻集大小 (RSS)、总堆大小和已使用的堆。
const memoryUsage = Deno.memoryUsage();
console.log("Memory Usage:");
console.log(`External: ${memoryUsage.external / 1024 / 1024} MB`);
console.log(`RSS: ${memoryUsage.rss / 1024 / 1024} MB`);
console.log(`Heap Total: ${memoryUsage.heapTotal / 1024 / 1024} MB`);
console.log(`Heap Used: ${memoryUsage.heapUsed / 1024 / 1024} MB`);
使用 Deno CLI 在本地运行此示例
deno run -S https://docs.deno.org.cn/examples/scripts/reading_system_metrics.ts