UNPKG

node-os-utils

Version:

Advanced cross-platform operating system monitoring utilities with TypeScript support

136 lines 3.6 kB
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