[Node.js] os모듈 사용법

NodeJS 2017. 12. 30. 17:04
OS모듈

시스템 정보를 알려줍니다. 시스템 정보를 알아낼 때 유용합니다.


모듈 가져오는 방법
var os = require('os');


사용방법
var os = require('os');

console.log('호스트명 : ' + os.hostname()); //운영체제 호스트 네임 반환
console.log('시스템의 메모리 : %d / %d',os.freemem(), os.totalmem()); //유휴메모리 / 총 메모리


console.log('------cpu 정보-----------------------'); //cpu 정보 출력
console.log(os.cpus()); //cpu 정보 출력

console.log('------네트워크 인터페이스 정보----------- ');
console.log(os.networkInterfaces()); //네트워크 인터페이스 정보를 담은 배열 객체 반환

호스트명 : LAPTOP-4LE8CE6I
시스템의 메모리 : 11815145472 / 17089400832
------cpu 정보-----------------------
[ { model: 'Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz',
    speed: 2904,
    times:
     { user: 680500,
       nice: 0,
       sys: 1400453,
       idle: 18087750,
       irq: 573375 } },
  { model: 'Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz',
    speed: 2904,
    times: { user: 523343, nice: 0, sys: 583062, idle: 19062031, irq: 4421 } },
  { model: 'Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz',
    speed: 2904,
    times: { user: 715421, nice: 0, sys: 750156, idle: 18702859, irq: 5953 } },
  { model: 'Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz',
    speed: 2904,
    times: { user: 611640, nice: 0, sys: 624671, idle: 18932125, irq: 4125 } } ]
------네트워크 인터페이스 정보-----------
{ 'Wi-Fi':
   [ { address: 'fb90::a0af:2d9c:774e:ede1',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: 'f4:24:f3:16:27:2f',
       scopeid: 2,
       internal: false },
     { address: '192.168.1.86',
       netmask: '255.255.255.0',
       family: 'IPv4',
       mac: 'f4:24:f3:16:27:2f',
       internal: false } ],
  'Loopback Pseudo-Interface 1':
   [ { address: '::1',
       netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
       family: 'IPv6',
       mac: '00:00:00:00:00:00',
       scopeid: 0,
       internal: true },
     { address: '127.0.0.1',
       netmask: '255.0.0.0',
       family: 'IPv4',
       mac: '00:00:00:00:00:00',
       internal: true } ],
  'Teredo Tunneling Pseudo-Interface':
   [ { address: 'test',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '00:00:00:00:00:00',
       scopeid: 0,
       internal: false },
     { address: 'fb90::a0af:2d9c:774e:ede1',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '00:00:00:00:00:00',
       scopeid: 13,
       internal: false } ] }

메서드
설명
hostname()현재 pc의 호스트명을 리턴합니다.
cpus()cpu 정보를 담은 객체를 리턴합니다.
networkInterfaces()
네트워크 인터페이스(네트워크 카드) 의 정보를 리턴합니다.
totalmem()총 메모리 정보를 리턴합니다.
freemem()사용되지 않는 유휴 메모리 정보를 리턴합니다.
type()
운영체제 명을 리턴합니다.
platform()
운영체제 플랫폼을 리턴합니다.
arch()
운영체제 아키텍처를 리턴합니다.
uptime()
운영체제가 실핼된 시간을 리턴합니다.


블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!

  • CPU SPEED 관련 2021.09.30 15:30  댓글주소  수정/삭제  댓글쓰기

    안녕하세요. OS모듈 사용 중 문제가 있어서 같이 고민해봤으면 해서 질문 드립니다.
    아래 링크에서 확인할 수 있듯이 CPU 정보의 speed는 해당 CPU들의 현재 동작 속도를 나타내야 하는데
    WINDOW에서만은 최대 속도만 표시가 되고 있습니다.
    혹시 현재 CPU의 동작 속도를 확인할 다른 방법이 있는 지 궁금합니다.
    https://github.com/sebhildebrandt/systeminformation/issues/359