使用OS模块查看操作系统信息

 2015年06月23日    918     声明


在Node.js核心模块中的os模块,提供了一些基本的操作系统相关函数。你可以使用require('os')来调用这个模块。利用这个模块,你可以查看操作系统相关信息,如:操作系统的主机名、操作系统类型等;还可以查看系统硬件相关信息,如:CPU信息、系统内存信息等。

  1. 操作系统相关信息
  2. 系统硬件相关信息


1. 操作系统相关信息

1.1 系统临时文件夹:os.tmpdir()

os.tmpdir()方法会返回操作系统的临时文件夹。

1.2 系统的主机名:os.hostname()

os.hostname()方法会返回操作系统的主机名。

1.3 操作系统类型:os.type()

os.type()方法会返回操作系统类型。

1.4 操作系统平台类型:os.platform()

os.platform()方法会返回操作系统平台类型。

1.5 操作系统版本:os.release()

os.release()方法会返回操作系统版本信息。

1.6 操作系统运行的时间:os.uptime()

os.uptime()方法会返回操作系统运行的时间,单位为秒。

1.7 负载信息:os.loadavg()

os.uptime()方法会返回操作系统负载信息。

1.8 网络接口:os.networkInterfaces()

os.networkInterfaces()方法会返回操作系统网络接口信息,该方法会返回一个网络接口的列表信息。示例如下:

{ lo0: 
   [ { address: '::1', family: 'IPv6', internal: true },
     { address: '127.0.0.1', family: 'IPv4', internal: true },
     { address: 'fe80::1', family: 'IPv6', internal: true } ],
  en0: 
   [ { address: 'fe80::6676:baff:fe8e:f65c',
       family: 'IPv6',
       internal: false },
     { address: '192.168.0.105', family: 'IPv4', internal: false } ],
  awdl0: 
   [ { address: 'fe80::742a:a2ff:fee5:a95c',
       family: 'IPv6',
       internal: false } ],
  utun0: 
   [ { address: 'fe80::b5c7:a20d:8a31:3579',
       family: 'IPv6',
       internal: false } ] }

1.9 操作系统行结束符常量:os.EOL

os.EOL是一个表示操作系统行结束符常量。

1.10 使用示例

相关方法使用示例:

var os = require('os');

console.log('操作系统临时文件夹:%s', os.tmpdir());
console.log('主机名:%s', os.hostname());
console.log('系统类型:%s', os.type());
console.log('系统平台类型:%s', os.platform());
console.log('系统版本:%s', os.release());
console.log('系统已运行:%s 秒', os.uptime());
console.log('系统行结束符:%s', os.EOL);

//输出如下
主机名:liuhtdeMacBook-Air.local
系统类型:Darwin
系统平台类型:darwin
系统版本:14.3.0
系统已运行:481737 秒
系统行结束符:   //行结束符不可打印,所以未显示,如:\n。


2. 系统硬件相关信息

2.1 系统内存总量:os.totalmem()

os.totalmem()方法用于显示系统内存总量,单位为字节。

2.2 系统可用内存:os.freemem()

os.freemem()方法用于显示系统可用内存,单位为字节。示例如下:

console.log('系统内存总数:%d MB', os.totalmem()/1024/1024);
console.log('可用内存:%d MB', os.freemem()/1024/1024);

//显示如下
系统内存总数:4096 MB
可用内存:582.60546875 MB

2.3 CPU架构:os.arch()

os.arch()方法用于显示CPU架构信息。

2.4 CPU 的字节序列:os.endianness()

os.arch()方法用于显示CPU字节序列信息。

console.log('CPU架构:%s MB', os.arch());
console.log('字节序列:%s MB', os.endianness());

//显示如下
CPU架构:x64 MB
字节序列:LE MB

2.5 CPU信息:os.cpus()

os. cpus()方法会返回一个数组,显示每个CPU/内核的信息:型号、速度(单位 MHz)、时间(一个包含 user、nice、sys、idle 和 irq 所使用 CPU/内核毫秒数的对象)。示例如下:

[ { model: 'Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz',
    speed: 1300,
    times: { user: 40489890, nice: 0, sys: 21338460, idle: 186710870, irq: 0 } },
  { model: 'Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz',
    speed: 1300,
    times: { user: 18127410, nice: 0, sys: 6970970, idle: 223439200, irq: 0 } },
  { model: 'Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz',
    speed: 1300,
    times: { user: 40296940, nice: 0, sys: 15614770, idle: 192625900, irq: 0 } },
  { model: 'Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz',
    speed: 1300,
    times: { user: 18561850, nice: 0, sys: 6979890, idle: 222995820, irq: 0 } } ]