0

ドライブの現在のページファイル サイズを確認するにはどうすればよいですか?

Windows 7 より前は、使用可能な System32 フォルダーに pafefileconfig.vba という名前のスクリプトがありました。しかし、現在は削除されています。

JNAを使用して詳細を取得することは可能ですか? はいの場合、どのように?

編集

これは、JNAを使用してページファイル情報を取得するために私が書いたコードです:

  Kernel32 kernel32 = (Kernel32)Native.loadLibrary("kernel32", Kernel32.class);
    MEMORYSTATUSEX memInfo = new MEMORYSTATUSEX();
    kernel32.GlobalMemoryStatusEx(memInfo);
    int toMB = (1024*1024);
    float RAM = memInfo.ullTotalPhys.floatValue();
    float totalPage = memInfo.ullTotalPageFile.floatValue();
    float availPage = memInfo.ullAvailPageFile.floatValue();
    float availRam = memInfo.ullAvailPhys.floatValue();

    System.out.println(memInfo.dwMemoryLoad);
    System.out.println("RAM "+RAM/toMB);
    System.out.println("RAM avail "+availRam/toMB);
    float ramUsed = RAM-availRam;
    System.out.println("RAM used "+ramUsed/toMB);
    System.out.println("Total page(RAM+Page) "+(totalPage)/toMB);
    float totalPageWithoutRam = totalPage-RAM;
    System.out.println("Total page(without RAM) "+(totalPageWithoutRam)/toMB);
    System.out.println("Total avail page(With free ram) "+availPage/toMB);
    float avialPageWithoutRam = availPage-availRam;
    System.out.println("Total page avail(Without ram) "+(avialPageWithoutRam)/toMB);
    System.out.println("Page used so far(Without ram) "+(totalPageWithoutRam-avialPageWithoutRam)/toMB);

そして、これは出力です:

82
RAM 12285.582
RAM avail 2167.6758
RAM used 10117.906
Total page(RAM+Page) 24569.348
Total page(without RAM) 12283.766
Total avail page(With free ram) 12115.641
Total page avail(Without ram) 9947.965
Page used so far(Without ram) 2335.8008

GetPerformanceInfoを使用しても同じ結果が得られました。

しかし、これはwmic pagefileを実行したときに得られるものとは異なって見えます

wmic:root\cli>pagefile list /format :list


AllocatedBaseSize=12285
CurrentUsage=843
Description=C:\pagefile.sys
InstallDate=20120329043502.876449+330
Name=C:\pagefile.sys
PeakUsage=843
Status=
TempPageFile=FALSE

違いが見られるのはなぜですか?

4

1 に答える 1

4

情報は WMI を介して公開されます。wmic コマンド ライン ツールを使用して、ページファイル情報を一覧表示できます。

たとえば、私のデスクトップで:

C:\WINDOWS\system32>wmic pagefile list /format:list


AllocatedBaseSize=3840
CurrentUsage=213
Description=C:\pagefile.sys
InstallDate=20110616154020.168800+060
Name=C:\pagefile.sys
PeakUsage=231
Status=
TempPageFile=FALSE

などを使用して統合できProcessBuilderます...

Win32_PageFileUsage尋ねられたように、これはサイズを MB 単位で定義する構造を公開しています。

于 2013-10-10T11:34:46.750 に答える