0

我希望确定当前在基于 Windows 的虚拟机或服务器中使用的 CPU/RAM,用于机器本身,以及在该机器上运行的特定应用程序/网络应用程序。

我有正在该 Windows 机器上执行的应用程序/Web 应用程序的详细信息。

该应用程序通常是一个 Web 应用程序,它可以使用以下语言之一——> php/java/ruby/python/.net/node.js/perl。

理想情况下,如果可以使用单个命令来确定使用上述任何一种语言的应用程序/Web 应用程序的 pid,但如果可以使用单个命令(对于上述所有/每种语言),那将是非常适合我。

另一个问题--> 当机器是 Windows 机器时,我该如何做类似上面的事情?IE

(1) 在基于 Windows 操作系统的机器中使用什么命令来确定进程 ID (2) 在基于 Windows 操作系统的机器中使用什么命令来确定在基于 Windows 的机器中运行的应用程序/Web 应用程序使用的 CPU/RAM。(3) 确定系统(不是任何特定进程)对 CPU/RAM 的总体使用情况的命令。

4

2 回答 2

1

查看任务列表以查找进程的进程 ID。

查看WMIC以了解系统和特定应用程序的 CPU 使用情况。

find与or结合使用findstr,应该可以为您提供所需的所有信息。

于 2013-01-24T10:45:07.820 回答
1

可以使用 Perl/Python/Java/VB 脚本中的 WMI 命令从 Windows 操作系统获取应用程序或进程的 CPU 和 RAM 使用情况

我们需要执行 2 个 WMI 选择查询并应用 CPU% 利用率公式

1.检索逻辑进程的总数

select NumberOfLogicalProcessors from Win32_ComputerSystem

2. 要检索 PercentProcessorTime、TimeStamp_Sys100NS(已应用 CPU 利用率公式获取实际利用率百分比)和 WorkingSetPrivate (RAM) 的值,最少 2 次,睡眠间隔为 1 秒

select * from Win32_PerfRawData_PerfProc_Process where IDProcess=1234

3. 应用 CPU% 利用率公式

CPU%= ((p2-p1)/(t2-t1)*100)/NumberOfLogicalProcessors

p2表示第二次检索到的PercentProcessorTime,p1表示第一次检索到的PercentProcessorTime,t2和t1为TimeStamp_Sys100NS。

可以在链接http://www.craftedforeveryone.com/cpu-and-ram-utilization-of-an-application-using-perl-via-wmi/中找到一个示例 Perl 代码

此逻辑适用于所有支持 WMI 查询的编程语言

于 2018-05-09T13:47:15.353 回答