답변:
그냥 유형 perfmon
에Start > Run
입력하고 Enter 키를 누릅니다. 성능 창이 열리면 + 부호를 클릭하여 그래프에 새 카운터를 추가하십시오. 카운터는 PC 작동 방식의 여러 측면이며 유사성에 따라 "성능 개체"라는 그룹으로 그룹화됩니다.
질문에 대해서는 "프로세스", "메모리"및 "프로세서"성능 개체를 선택할 수 있습니다. 그런 다음이 카운터를 실시간으로 볼 수 있습니다
나중에 검사를 위해 성능 데이터를 저장하도록 유틸리티를 지정할 수도 있습니다. 이렇게하려면 왼쪽 패널에서 "성능 로그 및 경고"를 선택하십시오. 위에서 언급 한 카운터를 제공하는 시스템 모니터 콘솔 바로 아래에 있습니다.없는 경우 "파일"> "스냅인 추가 / 제거"를 클릭하고 추가를 클릭 한 후 목록에서 "성능 로그 및 경고"를 선택하십시오. ".)"성능 로그 및 경고 "에서"카운터 로그 "아래에 새로운 모니터링 구성을 만든 다음 카운터를 추가하고 샘플링 속도, 로그 형식 (이진 또는 일반 텍스트) 및 로그 위치를 지정할 수 있습니다.
프로세스 탐색기 는 프로세스 당 걸린 총 CPU 시간과 프로세스 당 히스토리 그래프를 표시 할 수 있습니다.
아마도 당신은 이것을 사용할 수 있습니다. 그것은 당신을 위해 작동하고 지정된 프로세스에 대한 프로세서 시간을보고합니다.
@echo off
: Rich Kreider <rjk@techish.net>
: report processor time for given process until process exits (could be expanded to use a PID to be more
: precise)
: Depends: typeperf
: Usage: foo.cmd <processname>
set process=%~1
echo Press CTRL-C To Stop...
:begin
for /f "tokens=2 delims=," %%c in ('typeperf "\Process(%process%)\%% Processor Time" -si 1 -sc 1 ^| find /V "\\"') do (
if %%~c==-1 (
goto :end
) else (
echo %%~c%%
goto begin
)
)
:end
echo Process seems to have terminated.
perfmon.exe를 사용하면 모니터링하려는 프로세스에 대한 카운터를 추가 할 수 있습니다 (오른쪽 패널을 마우스 오른쪽 버튼으로 클릭).
성능 개체 : 프로세스 "목록에서 인스턴스 선택"을 확인하고 firefox를 선택하십시오.
WMI는 Windows Management Instrumentation이며 모든 최신 버전의 Windows에 기본 제공됩니다. CPU 사용, 디스크 I / O 및 메모리 사용과 같은 것을 프로그래밍 방식으로 추적 할 수 있습니다.
Perfmon.exe는이 인터페이스의 GUI 프런트 엔드이며 프로세스를 모니터링하고 정보를 로그에 기록하며 사실 이후 로그를 분석 할 수 있습니다. 그것은 세계에서 가장 우아한 프로그램은 아니지만 일을 끝내줍니다.
Process Lasso는 그래프가 아닌 프로세스 자동화 및 우선 순위 클래스 최적화를 위해 더 많이 설계되었습니다. 말했다, 그것은 않습니다 (그래프에 흰색 선으로 그려) 제공 프로세스 별 CPU 사용률의 역사를하지만 않습니다 하지 프로세스 당 메모리 사용 내역을 제공합니다.
면책 조항 : 나는 프로세스 올가미의 저자이지만 더 나은 해결책이 있기 때문에 실제로 그것을 보증하지는 않습니다 (perfmon이 최고입니다).
가장 좋은 것은 Windows Vista + 리소스 및 성능 모니터입니다. 시간이 지남에 따라 프로세스별로 CPU, 메모리, 네트워크 및 디스크 액세스 사용량을 추적 할 수 있습니다. 그것은 오래 전에 만들어 졌어 야하는 훌륭한 전체 시스템 정보 유틸리티입니다. 내가 실수하지 않으면 시간이 지남에 따라 프로세스 당 CPU 및 메모리 사용률을 추적 할 수 있습니다 (나머지 목록에있는 것 중에서).
C # / Perl / Java 스크립트를 사용하여 WMI 명령을 사용하여 사용률 데이터를 얻을 수도 있습니다. 아래는 그 단계입니다.
2 개의 WMI 선택 쿼리를 실행하고 CPU 사용률 공식을 적용해야합니다
1. 총 논리 프로세스 수를 검색하려면
select NumberOfLogicalProcessors from Win32_ComputerSystem
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를위한 것입니다.
이에 대한 샘플 Perl 코드는 http://www.craftedforeveryone.com/cpu-and-ram-utilization-of-an-application-using-perl-via-wmi/ 링크에 있습니다 .
이 논리는 WMI 쿼리를 지원하는 모든 프로그래밍 언어에 적용됩니다
이것을 시도하지는 않았지만 ProcDump 는 더 나은 솔루션처럼 보입니다.
사이트 설명 :
ProcDump는 관리자 또는 개발자가 스파이크의 원인을 파악하는 데 사용할 수있는 스파이크 동안 CPU 스파이크에 대한 응용 프로그램을 모니터링하고 크래시 덤프를 생성하는 것이 주 목적인 명령 줄 유틸리티입니다. 또한 ProcDump에는 중단 된 창 모니터링 (Windows 및 작업 관리자가 사용하는 동일한 창 중단 정의 사용), 처리되지 않은 예외 모니터링 및 시스템 성능 카운터 값을 기반으로 덤프를 생성 할 수 있습니다. 또한 다른 스크립트에 임베드 할 수있는 일반 프로세스 덤프 유틸리티 역할을 할 수 있습니다.
흠, 그래프가 그리 편리하지는 않지만 Process Explorer로 처리 할 수 있습니다. 여전히 대안 / 더 나은 방법을 찾고 있습니다.
Process Lasso를 살펴볼 수 있습니다 .
일부 특정 Windows 서버의 상태 및 CPU / 메모리 사용을 요구했습니다. 아래 스크립트를 사용했습니다.
이것은 Windows 검색 서비스의 예입니다.
$cpu = Get-WmiObject win32_processor
$search = get-service "WSearch"
if ($search.Status -eq 'Running')
{
$searchmem = Get-WmiObject Win32_Service -Filter "Name = 'WSearch'"
$searchid = $searchmem.ProcessID
$searchcpu1 = Get-WmiObject Win32_PerfRawData_PerfProc_Process | Where {$_.IDProcess -eq $searchid}
Start-Sleep -Seconds 1
$searchcpu2 = Get-WmiObject Win32_PerfRawData_PerfProc_Process | Where {$_.IDProcess -eq $searchid}
$searchp2p1 = $searchcpu2.PercentProcessorTime - $searchcpu1.PercentProcessorTime
$searcht2t1 = $searchcpu2.Timestamp_Sys100NS - $searchcpu1.Timestamp_Sys100NS
$searchcpu = [Math]::Round(($searchp2p1 / $searcht2t1 * 100) /$cpu.NumberOfLogicalProcessors, 1)
$searchmem = [Math]::Round($searchcpu1.WorkingSetPrivate / 1mb,1)
Write-Host 'Service is' $search.Status', Memory consumed: '$searchmem' MB, CPU Usage: '$searchcpu' %'
}
else
{
Write-Host Service is $search.Status -BackgroundColor Red
}
CPU / RAM / IO 속도의 이력 그래프에 taskinfo를 사용합니다. http://www.iarsn.com/taskinfo.html
그러나 응답하지 않는 버스트는 잘못된 HD / SS 드라이브로 인해 인터럽트 시간처럼 들립니다.