node-os-utils
Version:
Advanced cross-platform operating system monitoring utilities with TypeScript support
136 lines • 3.6 kB
TypeScript
import { BaseMonitor } from '../core/base-monitor';
import { MonitorResult, MemoryConfig, MemoryInfo, MemoryPressure, SwapInfo, DataSize } from '../types';
import { PlatformAdapter } from '../types/platform';
import { CacheManager } from '../core/cache-manager';
/**
* 内存监控器
*
* 提供内存相关的监控功能,包括内存使用情况、交换空间、内存压力等
*/
export declare class MemoryMonitor extends BaseMonitor<MemoryInfo> {
private memoryConfig;
constructor(adapter: PlatformAdapter, config?: MemoryConfig, cache?: CacheManager);
/**
* 获取内存基本信息
*/
info(): Promise<MonitorResult<MemoryInfo>>;
/**
* 获取详细内存信息
*/
detailed(): Promise<MonitorResult<MemoryInfo & {
breakdown: any;
}>>;
/**
* 获取内存使用率百分比
*/
usage(): Promise<MonitorResult<number>>;
/**
* 获取可用内存
*/
available(): Promise<MonitorResult<DataSize>>;
/**
* 获取已用内存(异步版本)
*/
usedAsync(): Promise<MonitorResult<DataSize>>;
/**
* 获取交换空间信息
*/
swap(): Promise<MonitorResult<SwapInfo>>;
/**
* 获取内存压力信息
*/
pressure(): Promise<MonitorResult<MemoryPressure>>;
/**
* 获取缓存和缓冲区信息
*/
buffers(): Promise<MonitorResult<{
cached: DataSize;
buffers: DataSize;
}>>;
/**
* 获取总内存大小
*/
total(): Promise<MonitorResult<DataSize>>;
/**
* 获取内存统计摘要
*/
summary(): Promise<MonitorResult<{
total: string;
used: string;
available: string;
usagePercentage: number;
swap: {
total: string;
used: string;
usagePercentage: number;
};
}>>;
/**
* 配置是否包含交换空间信息
*/
withSwap(include: boolean): this;
/**
* 配置是否包含缓存和缓冲区信息
*/
withBuffers(include: boolean): this;
/**
* 配置是否包含内存压力信息
*/
withPressure(include: boolean): this;
/**
* 配置内存单位
*/
withUnit(unit: 'auto' | 'B' | 'KB' | 'MB' | 'GB' | 'TB'): this;
/**
* 获取默认配置
*/
protected getDefaultConfig(): MemoryConfig;
/**
* 转换内存基本信息
*/
private transformMemoryInfo;
/**
* 转换交换空间信息
*/
private transformSwapInfo;
/**
* 转换内存压力信息
*/
private transformMemoryPressure;
/**
* 计算内存压力
*/
private calculateMemoryPressure;
/**
* 提取详细内存分解信息
*/
private extractDetailedBreakdown;
/**
* 规范化压力级别
*/
private normalizePressureLevel;
/**
* 压力级别转分数
*/
private pressureLevelToScore;
/**
* 安全解析数字
*/
private safeParseNumber;
/**
* 获取总内存大小(同步版本,向后兼容)
* @returns 总内存大小(字节)或 'not supported'
*/
totalMem(): number | string;
/**
* 获取空闲内存大小(同步版本,向后兼容)
* @returns 空闲内存大小(字节)或 'not supported'
*/
free(): number | string;
/**
* 获取已用内存大小(同步版本,向后兼容)
* @returns 已用内存大小(字节)或 'not supported'
*/
used(): number | string;
}
//# sourceMappingURL=memory-monitor.d.ts.map