기본 패턴
javascript
import os from "node:os";
console.log(os.platform());
console.log(os.homedir());
console.log(os.availableParallelism());
console.log(os.tmpdir());설명
os모듈은 Node.js가 실행 중인 운영체제 환경을 읽어 올 때 쓰는 표준 라이브러리입니다.- CLI 도구에서는 홈 디렉터리, 임시 디렉터리, CPU 병렬성 수 같은 값이 실제 파일 저장 경로나 작업 분할 전략을 결정하는 데 자주 필요합니다.
- 서버 코드에서도 디버깅 로그, 시스템 정보 점검, 워커 개수 기본값 계산처럼 "환경 의존 결정"에 도움이 됩니다.
- 다만
os.cpus()나availableParallelism()결과를 그대로 동시성 수에 복사해서 쓰기보다, 컨테이너 제한이나 실제 부하 특성과 함께 조정하는 편이 현실적입니다. - 환경 정보를 읽는 것과 환경을 신뢰해 비즈니스 로직을 갈라버리는 것은 다른 문제입니다. 운영체제 차이가 핵심인 경우에만 의존성을 늘리는 편이 좋습니다.
짧은 예제
javascript
import os from "node:os";
const workerCount = Math.max(1, os.availableParallelism() - 1);
console.log(`spawn ${workerCount} workers`);빠른 정리
| 함수 | 용도 |
|---|---|
os.platform() | OS 식별 |
os.homedir() | 사용자 홈 경로 |
os.tmpdir() | 임시 파일 저장 경로 |
os.availableParallelism() | 병렬 작업 기준값 |
주의할 점
os 정보는 실행 환경 힌트일 뿐, 절대적인 성능 보장 값은 아닙니다.
특히 컨테이너나 CI 환경에서는 실제 사용 가능한 자원이 다를 수 있으니, 기본값 계산과 운영 튜닝을 분리해서 보는 편이 좋습니다.
참고 링크
1 sources