在 Windows Server 中查看内存实际占用情况,可以通过多种方式来获取信息。下面是一些常用的方法:
✅ 方法一:使用任务管理器(Task Manager)
- 按下
Ctrl + Shift + Esc直接打开任务管理器。 - 切换到 性能(Performance) 标签页。
- 点击左侧的 内存(Memory)。
- 在右上角可以看到:
- 已使用(In Use)
- 可用(Available)
- 已提交(Committed)
- 缓存(Cached)
实际内存占用 = 已使用(In Use),这是当前正在被程序和系统使用的内存。
✅ 方法二:使用资源监视器(Resource Monitor)
- 打开任务管理器 → 性能 → 点击底部的 打开资源监视器(Open Resource Monitor)
- 在 内存(Memory) 标签页中,可以更详细地看到:
- 物理内存使用情况
- 各进程的内存占用
- 非分页池、分页池等内核内存使用
✅ 方法三:使用命令行(PowerShell 或 CMD)
使用 PowerShell 查看内存使用情况:
Get-WmiObject Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory
输出解释:
TotalVisibleMemorySize: 总物理内存(单位 KB)FreePhysicalMemory: 剩余可用内存(单位 KB)
计算实际使用内存:
UsedMemory = TotalVisibleMemorySize - FreePhysicalMemory
更直观的方式:
$os = Get-WmiObject Win32_OperatingSystem
$totalMem = [math]::round($os.TotalVisibleMemorySize / 1024, 2)
$freeMem = [math]::round($os.FreePhysicalMemory / 1024, 2)
$usedMem = [math]::round(($os.TotalVisibleMemorySize - $os.FreePhysicalMemory) / 1024, 2)
[PSCustomObject]@{
TotalMemoryGB = $totalMem
FreeMemoryGB = $freeMem
UsedMemoryGB = $usedMem
}
✅ 方法四:使用性能监视器(PerfMon)
- 运行
perfmon - 打开 监视工具(Monitoring Tools)→ 性能监视器(Performance Monitor)
- 添加计数器:
MemoryAvailable MBytesMemoryCommitted BytesMemoryPages/secProcess(*)Working Set
可以实时监控内存使用趋势。
📌 小贴士:Windows 内存分类说明
| 类别 | 含义 |
|---|---|
| In Use | 正在被进程或系统直接使用的内存 |
| Standby | 被缓存但可以释放的内存(如文件缓存) |
| Free | 完全空闲的内存 |
| Modified | 已修改但尚未写入磁盘的内存页 |
| Reserved | 已保留但未提交的内存地址空间 |
| Cached | 缓存使用的内存(包含Standby List) |
✅ 总结:如何判断“实际内存占用”
- 最准确指标:任务管理器中的 "In Use"
-
简单计算公式:
实际内存占用 = 总内存 - 可用内存(包括 standby)
如果你是服务器管理员,建议结合 PerfMon 或 PowerShell 脚本进行长期监控和分析。
如果你有特定版本的 Windows Server(比如 2012、2016、2019、2022),我可以提供更具体的建议。需要的话请告诉我 😊
CLOUD技术博