Skip to main content
node__os.d.ts - Node documentation

Usage in Deno

```typescript import * as mod from "node:node__os.d.ts"; ```
The `node:os` module provides operating system-related utility methods and properties. It can be accessed using: ```js import os from 'node:os'; ```

Functions

f
arch
Returns the operating system CPU architecture for which the Node.js binary was compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'loong64'`, `'mips'`, `'mipsel'`, `'ppc'`, `'ppc64'`, `'riscv64'`, `'s390'`, `'s390x'`, and `'x64'`. The return value is equivalent to [process.arch](https://nodejs.org/docs/latest-v22.x/api/process.html#processarch).
f
availableParallelism
Returns an estimate of the default amount of parallelism a program should use. Always returns a value greater than zero. This function is a small wrapper about libuv's [`uv_available_parallelism()`](https://docs.libuv.org/en/v1.x/misc.html#c.uv_available_parallelism).
f
cpus
Returns an array of objects containing information about each logical CPU core. The array will be empty if no CPU information is available, such as if the `/proc` file system is unavailable. The properties included on each object include: ```js [ { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 252020, nice: 0, sys: 30340, idle: 1070356870, irq: 0, }, }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 306960, nice: 0, sys: 26980, idle: 1071569080, irq: 0, }, }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 248450, nice: 0, sys: 21750, idle: 1070919370, irq: 0, }, }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 256880, nice: 0, sys: 19430, idle: 1070905480, irq: 20, }, }, ] ``` `nice` values are POSIX-only. On Windows, the `nice` values of all processors are always 0. `os.cpus().length` should not be used to calculate the amount of parallelism available to an application. Use [availableParallelism](.././node__os.d.ts/~/availableParallelism) for this purpose.
f
endianness
Returns a string identifying the endianness of the CPU for which the Node.js binary was compiled. Possible values are `'BE'` for big endian and `'LE'` for little endian.
f
freemem
Returns the amount of free system memory in bytes as an integer.
f
getPriority
Returns the scheduling priority for the process specified by `pid`. If `pid` is not provided or is `0`, the priority of the current process is returned.
f
homedir
Returns the string path of the current user's home directory. On POSIX, it uses the `$HOME` environment variable if defined. Otherwise it uses the [effective UID](https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID) to look up the user's home directory. On Windows, it uses the `USERPROFILE` environment variable if defined. Otherwise it uses the path to the profile directory of the current user.
f
hostname
Returns the host name of the operating system as a string.
f
loadavg
Returns an array containing the 1, 5, and 15 minute load averages. The load average is a measure of system activity calculated by the operating system and expressed as a fractional number. The load average is a Unix-specific concept. On Windows, the return value is always `[0, 0, 0]`.
f
machine
Returns the machine type as a string, such as `arm`, `arm64`, `aarch64`, `mips`, `mips64`, `ppc64`, `ppc64le`, `s390`, `s390x`, `i386`, `i686`, `x86_64`. On POSIX systems, the machine type is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.
f
networkInterfaces
Returns an object containing network interfaces that have been assigned a network address. Each key on the returned object identifies a network interface. The associated value is an array of objects that each describe an assigned network address. The properties available on the assigned network address object include: ```js { lo: [ { address: '127.0.0.1', netmask: '255.0.0.0', family: 'IPv4', mac: '00:00:00:00:00:00', internal: true, cidr: '127.0.0.1/8' }, { address: '::1', netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', family: 'IPv6', mac: '00:00:00:00:00:00', scopeid: 0, internal: true, cidr: '::1/128' } ], eth0: [ { address: '192.168.1.108', netmask: '255.255.255.0', family: 'IPv4', mac: '01:02:03:0a:0b:0c', internal: false, cidr: '192.168.1.108/24' }, { address: 'fe80::a00:27ff:fe4e:66a1', netmask: 'ffff:ffff:ffff:ffff::', family: 'IPv6', mac: '01:02:03:0a:0b:0c', scopeid: 1, internal: false, cidr: 'fe80::a00:27ff:fe4e:66a1/64' } ] } ```
f
platform
Returns a string identifying the operating system platform for which the Node.js binary was compiled. The value is set at compile time. Possible values are `'aix'`, `'darwin'`, `'freebsd'`, `'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`. The return value is equivalent to `process.platform`. The value `'android'` may also be returned if Node.js is built on the Android operating system. [Android support is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os).
f
release
Returns the operating system as a string. On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `GetVersionExW()` is used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.
f
setPriority
Attempts to set the scheduling priority for the process specified by `pid`. If `pid` is not provided or is `0`, the process ID of the current process is used. The `priority` input must be an integer between `-20` (high priority) and `19` (low priority). Due to differences between Unix priority levels and Windows priority classes, `priority` is mapped to one of six priority constants in `os.constants.priority`. When retrieving a process priority level, this range mapping may cause the return value to be slightly different on Windows. To avoid confusion, set `priority` to one of the priority constants. On Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user privileges. Otherwise the set priority will be silently reduced to `PRIORITY_HIGH`.
f
tmpdir
Returns the operating system's default directory for temporary files as a string.
f
totalmem
Returns the total amount of system memory in bytes as an integer.
f
type
Returns the operating system name as returned by [`uname(3)`](https://linux.die.net/man/3/uname). For example, it returns `'Linux'` on Linux, `'Darwin'` on macOS, and `'Windows_NT'` on Windows. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for additional information about the output of running [`uname(3)`](https://linux.die.net/man/3/uname) on various operating systems.
f
uptime
Returns the system uptime in number of seconds.
f
userInfo
Returns information about the currently effective user. On POSIX platforms, this is typically a subset of the password file. The returned object includes the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and `gid` fields are `-1`, and `shell` is `null`. The value of `homedir` returned by `os.userInfo()` is provided by the operating system. This differs from the result of `os.homedir()`, which queries environment variables for the home directory before falling back to the operating system response. Throws a [`SystemError`](https://nodejs.org/docs/latest-v22.x/api/errors.html#class-systemerror) if a user has no `username` or `homedir`.
f
version
Returns a string identifying the kernel version. On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.

Interfaces

I
CpuInfo
The `node:os` module provides operating system-related utility methods and properties. It can be accessed using: ```js import os from 'node:os'; ```
I
NetworkInterfaceInfoIPv4
No documentation available
I
NetworkInterfaceInfoIPv6
No documentation available
I
UserInfo
No documentation available

Namespaces

N
constants
No documentation available
N
constants.dlopen
No documentation available
N
constants.errno
No documentation available
N
constants.priority
No documentation available
N
v
constants.signals
No documentation available

Type Aliases

T
NetworkInterfaceInfo
No documentation available
T
SignalConstants
No documentation available

Variables

v
constants.dlopen.RTLD_DEEPBIND
No documentation available
v
constants.dlopen.RTLD_GLOBAL
No documentation available
v
constants.dlopen.RTLD_LAZY
No documentation available
v
constants.dlopen.RTLD_LOCAL
No documentation available
v
constants.dlopen.RTLD_NOW
No documentation available
v
constants.errno.E2BIG
No documentation available
v
constants.errno.EACCES
No documentation available
v
constants.errno.EADDRINUSE
No documentation available
v
constants.errno.EADDRNOTAVAIL
No documentation available
v
constants.errno.EAFNOSUPPORT
No documentation available
v
constants.errno.EAGAIN
No documentation available
v
constants.errno.EALREADY
No documentation available
v
constants.errno.EBADF
No documentation available
v
constants.errno.EBADMSG
No documentation available
v
constants.errno.EBUSY
No documentation available
v
constants.errno.ECANCELED
No documentation available
v
constants.errno.ECHILD
No documentation available
v
constants.errno.ECONNABORTED
No documentation available
v
constants.errno.ECONNREFUSED
No documentation available
v
constants.errno.ECONNRESET
No documentation available
v
constants.errno.EDEADLK
No documentation available
v
constants.errno.EDESTADDRREQ
No documentation available
v
constants.errno.EDOM
No documentation available
v
constants.errno.EDQUOT
No documentation available
v
constants.errno.EEXIST
No documentation available
v
constants.errno.EFAULT
No documentation available
v
constants.errno.EFBIG
No documentation available
v
constants.errno.EHOSTUNREACH
No documentation available
v
constants.errno.EIDRM
No documentation available
v
constants.errno.EILSEQ
No documentation available
v
constants.errno.EINPROGRESS
No documentation available
v
constants.errno.EINTR
No documentation available
v
constants.errno.EINVAL
No documentation available
v
constants.errno.EIO
No documentation available
v
constants.errno.EISCONN
No documentation available
v
constants.errno.EISDIR
No documentation available
v
constants.errno.ELOOP
No documentation available
v
constants.errno.EMFILE
No documentation available
v
constants.errno.EMSGSIZE
No documentation available
v
constants.errno.EMULTIHOP
No documentation available
v
constants.errno.ENAMETOOLONG
No documentation available
v
constants.errno.ENETDOWN
No documentation available
v
constants.errno.ENETRESET
No documentation available
v
constants.errno.ENETUNREACH
No documentation available
v
constants.errno.ENFILE
No documentation available
v
constants.errno.ENOBUFS
No documentation available
v
constants.errno.ENODATA
No documentation available
v
constants.errno.ENODEV
No documentation available
v
constants.errno.ENOENT
No documentation available
v
constants.errno.ENOEXEC
No documentation available
v
constants.errno.ENOLCK
No documentation available
v
constants.errno.ENOMEM
No documentation available
v
constants.errno.ENOMSG
No documentation available
v
constants.errno.ENOPROTOOPT
No documentation available
v
constants.errno.ENOSPC
No documentation available
v
constants.errno.ENOSR
No documentation available
v
constants.errno.ENOSTR
No documentation available
v
constants.errno.ENOSYS
No documentation available
v
constants.errno.ENOTCONN
No documentation available
v
constants.errno.ENOTDIR
No documentation available
v
constants.errno.ENOTEMPTY
No documentation available
v
constants.errno.ENOTSOCK
No documentation available
v
constants.errno.ENOTSUP
No documentation available
v
constants.errno.ENOTTY
No documentation available
v
constants.errno.ENXIO
No documentation available
v
constants.errno.EOPNOTSUPP
No documentation available
v
constants.errno.EOVERFLOW
No documentation available
v
constants.errno.EPERM
No documentation available
v
constants.errno.EPIPE
No documentation available
v
constants.errno.EPROTO
No documentation available
v
constants.errno.EPROTONOSUPPORT
No documentation available
v
constants.errno.EPROTOTYPE
No documentation available
v
constants.errno.ERANGE
No documentation available
v
constants.errno.EROFS
No documentation available
v
constants.errno.ESPIPE
No documentation available
v
constants.errno.ESRCH
No documentation available
v
constants.errno.ESTALE
No documentation available
v
constants.errno.ETIME
No documentation available
v
constants.errno.ETIMEDOUT
No documentation available
v
constants.errno.ETXTBSY
No documentation available
v
constants.errno.EWOULDBLOCK
No documentation available
v
constants.errno.EXDEV
No documentation available
v
constants.errno.WSA_E_CANCELLED
No documentation available
v
constants.errno.WSA_E_NO_MORE
No documentation available
v
constants.errno.WSAEACCES
No documentation available
v
constants.errno.WSAEADDRINUSE
No documentation available
v
constants.errno.WSAEADDRNOTAVAIL
No documentation available
v
constants.errno.WSAEAFNOSUPPORT
No documentation available
v
constants.errno.WSAEALREADY
No documentation available
v
constants.errno.WSAEBADF
No documentation available
v
constants.errno.WSAECANCELLED
No documentation available
v
constants.errno.WSAECONNABORTED
No documentation available
v
constants.errno.WSAECONNREFUSED
No documentation available
v
constants.errno.WSAECONNRESET
No documentation available
v
constants.errno.WSAEDESTADDRREQ
No documentation available
v
constants.errno.WSAEDISCON
No documentation available
v
constants.errno.WSAEDQUOT
No documentation available
v
constants.errno.WSAEFAULT
No documentation available
v
constants.errno.WSAEHOSTDOWN
No documentation available
v
constants.errno.WSAEHOSTUNREACH
No documentation available
v
constants.errno.WSAEINPROGRESS
No documentation available
v
constants.errno.WSAEINTR
No documentation available
v
constants.errno.WSAEINVAL
No documentation available
v
constants.errno.WSAEINVALIDPROCTABLE
No documentation available
v
constants.errno.WSAEINVALIDPROVIDER
No documentation available
v
constants.errno.WSAEISCONN
No documentation available
v
constants.errno.WSAELOOP
No documentation available
v
constants.errno.WSAEMFILE
No documentation available
v
constants.errno.WSAEMSGSIZE
No documentation available
v
constants.errno.WSAENAMETOOLONG
No documentation available
v
constants.errno.WSAENETDOWN
No documentation available
v
constants.errno.WSAENETRESET
No documentation available
v
constants.errno.WSAENETUNREACH
No documentation available
v
constants.errno.WSAENOBUFS
No documentation available
v
constants.errno.WSAENOMORE
No documentation available
v
constants.errno.WSAENOPROTOOPT
No documentation available
v
constants.errno.WSAENOTCONN
No documentation available
v
constants.errno.WSAENOTEMPTY
No documentation available
v
constants.errno.WSAENOTSOCK
No documentation available
v
constants.errno.WSAEOPNOTSUPP
No documentation available
v
constants.errno.WSAEPFNOSUPPORT
No documentation available
v
constants.errno.WSAEPROCLIM
No documentation available
v
constants.errno.WSAEPROTONOSUPPORT
No documentation available
v
constants.errno.WSAEPROTOTYPE
No documentation available
v
constants.errno.WSAEPROVIDERFAILEDINIT
No documentation available
v
constants.errno.WSAEREFUSED
No documentation available
v
constants.errno.WSAEREMOTE
No documentation available
v
constants.errno.WSAESHUTDOWN
No documentation available
v
constants.errno.WSAESOCKTNOSUPPORT
No documentation available
v
constants.errno.WSAESTALE
No documentation available
v
constants.errno.WSAETIMEDOUT
No documentation available
v
constants.errno.WSAETOOMANYREFS
No documentation available
v
constants.errno.WSAEUSERS
No documentation available
v
constants.errno.WSAEWOULDBLOCK
No documentation available
v
constants.errno.WSANOTINITIALISED
No documentation available
v
constants.errno.WSASERVICE_NOT_FOUND
No documentation available
v
constants.errno.WSASYSCALLFAILURE
No documentation available
v
constants.errno.WSASYSNOTREADY
No documentation available
v
constants.errno.WSATYPE_NOT_FOUND
No documentation available
v
constants.errno.WSAVERNOTSUPPORTED
No documentation available
v
constants.priority.PRIORITY_ABOVE_NORMAL
No documentation available
v
constants.priority.PRIORITY_BELOW_NORMAL
No documentation available
v
constants.priority.PRIORITY_HIGH
No documentation available
v
constants.priority.PRIORITY_HIGHEST
No documentation available
v
constants.priority.PRIORITY_LOW
No documentation available
v
constants.priority.PRIORITY_NORMAL
No documentation available
v
constants.UV_UDP_REUSEADDR
No documentation available
v
devNull
No documentation available
v
EOL
The operating system-specific end-of-line marker. * `\n` on POSIX * `\r\n` on Windows