商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何用JS监控Linux系统的资源使用情况

如何用JS监控Linux系统的资源使用情况

  发布于2026-07-13 阅读(0)

扫一扫,手机访问

用Ja vaScript来监控Linux系统的资源使用情况,这个需求在实际运维和开发中越来越常见。Node.js生态里,几个常用的原生模块和第三方库就能完成这个任务,操作起来并不复杂。

如何用JS监控Linux系统的资源使用情况

先说说最简单的办法。Node.js内置的os模块可以直接获取基础的系统信息,不需要额外安装任何依赖。

准备工作很简单,确保机器上已经安装了Node.js。然后新建一个文件,比如叫monitor.js,把下面这段代码放进去:

const os = require('os');

// 获取CPU信息
const cpuInfo = os.cpus();
console.log('CPU信息:', cpuInfo);

// 获取内存使用情况
const totalMemory = os.totalmem();
const freeMemory = os.freemem();
const usedMemory = totalMemory - freeMemory;
console.log('总内存:', totalMemory);
console.log('空闲内存:', freeMemory);
console.log('已使用内存:', usedMemory);

// 计算内存使用百分比
const memoryUsagePercentage = (usedMemory / totalMemory) * 100;
console.log('内存使用百分比:', memoryUsagePercentage.toFixed(2) + '%');

然后在终端里运行:

node monitor.js

CPU信息和内存使用情况就会直接打印出来。这个方法简单直接,适合快速查看系统状态。但话说回来,如果只是获取这些基础数据,用os模块确实够了,可一旦需要更精细的监控——比如进程级别的资源占用、磁盘使用详情——光靠内置模块就有点捉襟见肘了。

这时候就需要第三方库来帮忙了。node-os-utils就是一个很实用的选择,它能提供CPU、内存、磁盘等更丰富的指标。

用之前先安装:

npm install node-os-utils

然后改造一下刚才的监视器脚本:

const os = require('os');
const osUtils = require('node-os-utils');

// 获取CPU使用率
osUtils.cpuUsage(function (percent) {
    console.log('CPU使用率:', percent.toFixed(2) + '%');
});

// 获取内存使用情况
osUtils.virtualMemory(function (info) {
    console.log('总内存:', info.total);
    console.log('空闲内存:', info.a vailable);
    console.log('已使用内存:', info.used);
    console.log('内存使用百分比:', info.used / info.total * 100);
});

// 获取磁盘使用情况
osUtils.diskUsage('/', function (info) {
    console.log('根目录磁盘总空间:', info.total);
    console.log('根目录磁盘可用空间:', info.free);
    console.log('根目录磁盘已使用空间:', info.used);
    console.log('根目录磁盘使用百分比:', info.used / info.total * 100);
});

运行之后,输出就会更丰富,CPU使用率、内存详细状态、甚至磁盘根分区的占用情况都会显示出来。

在实际的监控场景里,还可以考虑结合pidusage库来追踪特定进程的资源消耗,这个库能获取某个进程的CPU和内存使用率,对于排查性能瓶颈特别有用。

整体看下来,从原生模块到第三方库,用Ja vaScript监控Linux资源这个事,覆盖面已经很全了。如果需要实时监控或者定期上报数据,把上面的逻辑放到定时任务或者Web服务里即可。关键在于根据实际需求选择合适的工具:简单的查询用os模块就够了,复杂的监控任务则需要node-os-utils这类库来补足细节。

本文转载于:https://www.yisu.com/ask/90299957.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注