Windows Server Corenetworking和磁盘资源监视

我有一个安装了Windows Server Core的服务器,我试图通过Resmon(只在Windows Server GUI安装中提供)来达到故障排除能力。 我相信我可以确定Core中的资源瓶颈,但是无法获取resmon限制了我识别瓶颈源的能力。

有没有任何PowerShell,cmd或远程gui的方法来识别进程和文件的磁盘资源使用情况? networking也是一样的,并确定每个连接和进程使用的带宽。

在Linux中有一些命令行程序,如iftop和iotop,可以在sshterminal中显示这些数据; 在服务器核心上类似的东西会工作。

下面是我感兴趣的信息的图片。能够从Windows Server Core实时或接近地获取这些信息是非常好的。

磁盘使用数据截图

网络使用数据截图

远程perfmon是一种方式去。 在引用基于GUI和CLI的目标的同时,我不确定你最喜欢哪一个。有许多WMI类用于性能计数器(列表中带有gwmi -list Win32_PerfFormattedData* |select name ),可以在CLI中显示或用于脚本。 这是一个快速的function,将显示最高的消费者,直到你打破/ CTRL-C。

 function topIO { while ($true) { gwmi Win32_PerfFormattedData_PerfProc_Process | select name,idprocess,IODataBytesPersec | sort -desc IODataBytesPersec | select -first 5 start-sleep 1 "" } } 

产量

 name idprocess IODataBytesPersec ---- --------- ----------------- csrss 8172 45 _Total 0 45 svchost#3 4480 0 svchost#4 1744 0 svchost#1 9576 0 Resili... 5276 281 _Total 0 281 svchost#2 1792 0 svchost#3 4480 0 svchost 1480 0 svchost#2 1792 0 svchost#3 4480 0 svchost#1 9576 0 Squeez... 7436 0 svchost 1480 0 

您应该能够远程连接性能监视器 – 链接

您可以放入任何您希望的计数器,并直接从工作站检索这些信息。

对于每个进程和连接的networking使用情况,我发现TCPView gui在Windows Server Core中工作。 可以从https://technet.microsoft.com/en-us/sysinternals/bb897437下载TCPView

下载完成后,使用您首选的方法(c $ admin share,Copy-Item cmdlet等)将tcpview.exe复制到服务器。 用服务器打开远程桌面并运行tcpview.exe

不幸的是tcpvcon没有在命令行提供使用数据。