프로그래밍 언어/NODE JS

OS

· 코딩마이데이

웹 브라우저에 사용되는 자바스크립트의 정보를 가져올 수 있지만, 노드는 os 모듈에 정보가 담겨 있어 정보를 가져올 수 있습니다.

 

os.js

const os = require("os");

console.log("운영체제 정보---------------------");
console.log("os.path():", os.arch());
console.log("os.platform():", os.platform());
console.log("os.type():", os.type());
console.log("os.uptime()", os.uptime());
console.log("os.hostname()", os.hostname());
console.log("os.release()", os.release());

console.log("경로------------------------------");
console.log("os.homdedir():", os.homedir());
console.log("os.tmpdir():", os.tmpdir());

console.log("cpu 정보--------------------------");
console.log("os.cpus():", os.cpus());
console.log("os.cpus().length:", os.cpus().length);

console.log("메모리 정보------------------------");
console.log("os.freemem():", os.freemem());
console.log("os.totalmem():", os.totalmem());

 

콘솔

$ node os
운영체제 정보---------------------
os.path(): x64
os.platform(): win32
os.type(): Windows_NT
os.uptime() 348041.578
os.hostname() 채윤
os.release() 10.0.26100
경로------------------------------
os.homdedir(): C:\Users\zzang
os.tmpdir(): C:\Users\zzang\AppData\Local\Temp
cpu 정보--------------------------
os.cpus(): [
  {
    model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz',
    speed: 1992,
    times: {
      user: 25903000,
      nice: 0,
      sys: 22039156,
      idle: 148491234,
      irq: 4061656
    }
  },
  {
    model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz',
    speed: 1992,
    times: {
      user: 22529937,
      nice: 0,
      sys: 11630031,
      idle: 162273343,
      irq: 1260078
    }
  },
  {
    model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz',
    speed: 1992,
    times: {
      user: 30650515,
      nice: 0,
      sys: 15681781,
      idle: 150101015,
      irq: 1599093
    }
  },
  {
    model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz',
    speed: 1992,
    times: {
      user: 28675562,
      nice: 0,
      sys: 13615890,
      idle: 154141859,
      irq: 1421531
    }
  },
  {
    model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz',
    speed: 1992,
    times: {
      user: 28299609,
      nice: 0,
      sys: 15911578,
      idle: 152222125,
      irq: 1603968
    }
  },
  {
    model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz',
    speed: 1992,
    times: {
      user: 22414812,
      nice: 0,
      sys: 11351468,
      idle: 162667031,
      irq: 1204500
    }
  },
  {
    model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz',
    speed: 1992,
    times: {
      user: 28444984,
      nice: 0,
      sys: 15580187,
      idle: 152408140,
      irq: 1538984
    }
  },
  {
    model: 'Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz',
    speed: 1992,
    times: {
      user: 23689062,
      nice: 0,
      sys: 11870484,
      idle: 160873765,
      irq: 1189390
    }
  }
]
os.cpus().length: 8
메모리 정보------------------------
os.freemem(): 8835076096
os.totalmem(): 17029763072

 

os 모듈도 사용자 컴퓨터의 운영체제 정보를 가져오는 것으로 콘솔 결과가 이 책과 다를 것입니다.

  • os.arch(): process.arch와 동일합니다.
  • os.platform(): process.platform과 동일합니다.
  • os.type(): 운영체제의 종류를 보여줍니다.
  • os.uptime(): 운영체제 부팅 이후 흐른 시간(초)을 보여줍니다. process.uptime()은 노드의 실행 시간이었습니다.
  • os.hostname(): 컴퓨터 이름을 보여줍니다.
  • os.release(): 운영체제의 버전을 보여줍니다.
  • os.homedir(): 홈 디렉터리 경로를 보여줍니다.
  • os.tmpdir(): 임시 파일 저장 경로를 보여줍니다.
  • os.cpus(): 컴퓨터의 코어 정보를 보여줍니다.
  • os.freemem(): 사용 가능한 메모리(RAM)를 보여줍니다.
  • os.totalmem(): 전체 메모리 용량을 보여줍니다.

os.constant라는 객체 안에는 각종 에러와 신호에 대한 정보가 담겨 있습니다. 에러가 발생했을 떄, EADDRINUSE나 ECONNRESET 같은 에러 코드를 보여줍니다.

 

os 모듈은 주로 컴퓨터 내부 자원에 빈번하게 접근하는 경우 사용됩니다.

'프로그래밍 언어 > NODE JS' 카테고리의 다른 글

url  (0) 2025.04.01
path  (0) 2025.03.29
process  (0) 2025.03.23
module, exports, require  (0) 2025.03.20
__filename, __dirname  (0) 2025.03.17