
在 Node.js 开发中,我们有时需要获取操作系统的相关信息,比如系统的内存使用情况、CPU 架构、网络接口信息等。Node.js 提供了一个强大的核心模块 os 来满足这些需求。本文将详细介绍 os 模块的常用功能,并通过实际的演示代码来展示如何使用。
在使用 os 模块之前,我们需要先引入它。由于 os 是 Node.js 的核心模块,所以无需额外安装,直接引入即可。
const os = require('os');
我们可以使用 os.arch() 方法来获取操作系统的 CPU 架构信息。常见的架构有 x64、arm 等。
const arch = os.arch();console.log(`当前系统的 CPU 架构是: ${arch}`);
os.platform() 方法可以返回操作系统的平台信息,例如 win32 表示 Windows 系统,darwin 表示 macOS 系统,linux 表示 Linux 系统。
const platform = os.platform();console.log(`当前操作系统的平台是: ${platform}`);
os.type() 方法返回操作系统的类型,例如 Windows_NT 表示 Windows 系统,Darwin 表示 macOS 系统,Linux 表示 Linux 系统。
const type = os.type();console.log(`当前操作系统的类型是: ${type}`);
os.uptime() 方法返回系统的开机时间,单位是秒。
const uptime = os.uptime();console.log(`系统已经开机 ${uptime} 秒`);
os.totalmem():返回系统的总内存量,单位是字节。os.freemem():返回系统的空闲内存量,单位是字节。
const totalMemory = os.totalmem();const freeMemory = os.freemem();console.log(`系统总内存: ${totalMemory} 字节`);console.log(`系统空闲内存: ${freeMemory} 字节`);
os.cpus() 方法返回一个包含每个 CPU 核心信息的数组,每个核心信息包含型号、速度、时间等。
const cpus = os.cpus();console.log('CPU 信息:');cpus.forEach((cpu, index) => {console.log(`CPU 核心 ${index + 1}:`);console.log(` 型号: ${cpu.model}`);console.log(` 速度: ${cpu.speed} MHz`);});
os.networkInterfaces() 方法返回一个包含所有网络接口信息的对象。
const networkInterfaces = os.networkInterfaces();console.log('网络接口信息:');for (const interfaceName in networkInterfaces) {console.log(`接口名称: ${interfaceName}`);networkInterfaces[interfaceName].forEach((info) => {console.log(` 地址: ${info.address}`);console.log(` 子网掩码: ${info.netmask}`);console.log(` 家族: ${info.family}`);});}
| 方法 | 描述 |
|---|---|
os.arch() |
返回操作系统的 CPU 架构信息 |
os.platform() |
返回操作系统的平台信息 |
os.type() |
返回操作系统的类型信息 |
os.uptime() |
返回系统的开机时间(秒) |
os.totalmem() |
返回系统的总内存量(字节) |
os.freemem() |
返回系统的空闲内存量(字节) |
os.cpus() |
返回包含每个 CPU 核心信息的数组 |
os.networkInterfaces() |
返回包含所有网络接口信息的对象 |
通过使用 os 模块,我们可以方便地获取操作系统的各种信息,这对于开发系统监控工具、性能分析工具等都非常有用。希望本文能帮助你更好地理解和使用 os 模块。