Windows XP (결국 2003/2008 서버에서도)에서 페이지 파일 사용을 쿼리하기 위해 약간의 VBScript 프로그램을 작성했지만 내가 얻고있는 것처럼 보이는 수치는 기괴합니다.WMI의 의심스러운 값 Win32_PerfRawData_PerfOS_PagingFile PercentUsage figure
Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
for i = 1 to 10
Set qry1 = wmi.ExecQuery ("Select * from Win32_PageFileSetting")
Set qry2 = wmi.ExecQuery ("Select * from Win32_PerfRawData_PerfOS_PagingFile")
initial = 0
maximum = 0
For Each obj in qry1
initial = initial + obj.InitialSize
maximum = maximum + obj.MaximumSize
Next
For Each obj in qry2
if obj.Name = "_Total" then
Wscript.Echo _
" Initial size: " & initial & _
" Maximum size: " & maximum & _
" Percent used: " & obj.PercentUsage & _
""
end if
Next
qry1 = none
qry2 = none
WScript.sleep (1000)
Next
출력 :
가Initial size: 1512 Maximum size: 3024 Percent used: 21354
Initial size: 1512 Maximum size: 3024 Percent used: 21354
Initial size: 1512 Maximum size: 3024 Percent used: 21354
Initial size: 1512 Maximum size: 3024 Percent used: 21354
Initial size: 1512 Maximum size: 3024 Percent used: 21354
Initial size: 1512 Maximum size: 3024 Percent used: 21354
Initial size: 1512 Maximum size: 3024 Percent used: 21354
Initial size: 1512 Maximum size: 3024 Percent used: 21354
Initial size: 1512 Maximum size: 3024 Percent used: 21354
Initial size: 1512 Maximum size: 3024 Percent used: 21354
MSDN에 DOCO이 상태 :
PercentUsage
01이
는 프로그램 237,819,Data type: uint32
Access type: Read-only
Qualifiers:
DisplayName ("% Usage")
,319,431 365,583,210CounterType (537003008)
DefaultScale (0)
PerfDetail (200)
Percentage of the page file instance in use. For more information,
012
see the PageFileBytes property in Win32_PerfRawData_PerfProc_Process.
37,819,는 이제 꽤 솔직 보인다. 내 3G 페이지 파일의 21000 %가 할당 된 공간을 사용하는 이유는 무엇입니까? 그것은 대략 630G 일 것이지만 pagefile.sys
은 약 1.5G입니다 (그리고 내 전체 하드 디스크는 186G입니다).
업데이트 : Win32_PerfFormattedData_PerfOS_PagingFile
에서 같은 분야를 얻을 때
, 나는 5의보다 합리적인 값을 얻을 수 있지만 여전히 작업 관리자, 일치하지 않는 것은이 1.06G의 사용법을 보여줍니다 3G에서 최대.
이렇게 좋습니다. 이 수식을 사용하면 포맷 된 데이터의 구석에있는 5.77이됩니다. 나는 단지 작업 관리자가 3G에서 1.06G를 사용하는 이유를 궁금해합니다. 포맷 된 데이터를 사용하면 끝날 수도 있습니다. – paxdiablo
41.591 ... 성능 카운터는 ~ 42 %, 작업 관리자는 ~ 50 %를 보여줍니다. 이제 누가 우리에게 거짓말을하는지 추측 할 수 있습니다. (나는 여기에 나쁜 녀석이되는 작업 관리자를 향해 기울고있다, 그것은 가상 메모리의 최대 크기를 고려하고 있는가? ...) – arul
나는 해결책을 찾았다 고 생각한다. Win32_PerfFormattedData_PerfOS_Memory에서 CommittedBytes를 더하면 같은 값을 얻게됩니다 (현재 약 1.1G). 이것이 활성 페이지가 페이지를 쓰는 페이징 파일에 예약 된 모든 메모리입니다. 그래서 우리는 아마도 그것과 퍼센트 수치를보고 할 것입니다. 고마워하고 받아 들여라. – paxdiablo