Skip to content

jkuri/node-psutil

Repository files navigation

node-psutil

A Node.js module for retrieving system and process information, with native support for macOS, Linux, and Windows.

Installation

npm install @jkuri/psutil

Usage

import {
  getVirtualMemory,
  getVirtualMemoryAsync,
  getDiskPartitions,
  getDiskPartitionsAsync
} from '@jkuri/psutil';

// Memory information
const memInfo = getVirtualMemory();
console.log(`Memory usage: ${memInfo.percent.toFixed(1)}%`);

// Disk partitions
const partitions = getDiskPartitions();
partitions.forEach(partition => {
  console.log(`${partition.device}: ${partition.percent.toFixed(1)}% used`);
});

// Asynchronous operations
getVirtualMemoryAsync().then(memInfo => {
  console.log('Memory info:', memInfo);
});

getDiskPartitionsAsync().then(partitions => {
  console.log('Disk partitions:', partitions);
});

API

getVirtualMemory()

Returns an object containing information about the system's virtual memory.

export type VirtualMemory = {
  total: number;
  available: number;
  used: number;
  free: number;
  shared: number;
  swapTotal: number;
  swapFree: number;
  active: number;
  inactive: number;
  wired: number;
  percent: number;
};

export function getVirtualMemory(): VirtualMemory;

getVirtualMemoryAsync()

Returns a promise that resolves to an object containing information about the system's virtual memory.

export function getVirtualMemoryAsync(): Promise<VirtualMemory>;

getDiskPartitions()

Returns an array of objects containing information about all disk partitions on the system.

export type DiskPartition = {
  device: string;      // Device path (e.g., "/dev/disk1s1", "C:")
  mountpoint: string;  // Mount point (e.g., "/", "C:\")
  fstype: string;      // File system type (e.g., "apfs", "ntfs", "ext4")
  opts: string;        // Mount options
  total: number;       // Total space in bytes
  used: number;        // Used space in bytes
  free: number;        // Free space in bytes
  percent: number;     // Usage percentage (0-100)
};

export function getDiskPartitions(): DiskPartition[];

getDiskPartitionsAsync()

Returns a promise that resolves to an array of disk partition information objects.

export function getDiskPartitionsAsync(): Promise<DiskPartition[]>;

License

MIT License

About

A Node.js module for retrieving system and process information

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published