在 Windows Server 2016 中查看内存占用高的进程,可以使用以下几种常用方法:
方法一:使用任务管理器(图形界面,最简单)
- 按
Ctrl + Shift + Esc打开任务管理器。 - 切换到 “详细信息” 选项卡。
- 点击列标题 “内存” 进行排序(降序),即可看到当前占用内存最多的进程。
- 若未显示“内存”列:右键任意列标题 → 选择 “选择列” → 勾选 “内存 (工作集)” 或 “内存 (专用工作集)"。
⚠️ 注意:默认可能只显示“进程”视图,需点击左下角“详细信息”才能看到完整列表。
方法二:使用 PowerShell(适合远程/脚本化)
以管理员身份运行 PowerShell,执行以下命令:
# 获取前10个内存占用最高的进程(按私有工作集排序)
Get-Process | Sort-Object WorkingSet64 -Descending | Select-Object -First 10 Name, Id, WorkingSet64, Path
或更详细地查看:
Get-Process | Where-Object { $_.WorkingSet64 -gt [long]::MaxValue / 10 } |
Sort-Object WorkingSet64 -Descending |
Format-Table Name, Id, WorkingSet64 -AutoSize
✅
WorkingSet64表示进程实际占用的物理内存(单位:字节)。
🔍 如需按虚拟内存排序,可改用VirtualMemorySize64。
方法三:使用资源监视器(图形界面,更详细)
- 按
Win + R,输入resmon回车,打开资源监视器。 - 切换到 “内存” 选项卡。
- 在“进程”列表中,点击 “提交” 或 “工作集” 列标题进行排序。
- 可查看每个进程的:
- 工作集(物理内存)
- 提交大小(虚拟内存+分页文件)
- 私有工作集(专用于该进程的内存)
补充建议
- 若发现某进程持续高内存占用,可结合 事件查看器(
eventvwr.msc)检查应用日志。 - 对于 Web 服务(如 IIS),建议使用 IIS 应用程序池诊断工具 或
appcmd list apppool辅助排查。 - 长期监控可配置 Performance Monitor(
perfmon)创建数据收集器集,记录关键内存计数器(如ProcessPrivate Bytes)。
需要我提供自动导出高内存进程报告(如 CSV)的 PowerShell 脚本吗?
CLOUD技术笔记