Fungsi GetProcessWorkingSetSize (memoryapi.h)
Mengambil ukuran set kerja minimum dan maksimum dari proses yang ditentukan.
Sintaks
BOOL GetProcessWorkingSetSize(
[in] HANDLE hProcess,
[out] PSIZE_T lpMinimumWorkingSetSize,
[out] PSIZE_T lpMaximumWorkingSetSize
);
Parameter
[in] hProcess
Handel untuk proses yang ukuran set kerjanya akan diperoleh. Handel harus memiliki hak akses PROCESS_QUERY_INFORMATION atau PROCESS_QUERY_LIMITED_INFORMATION . Untuk informasi selengkapnya, lihat Keamanan Proses dan Hak Akses.
Windows Server 2003 dan Windows XP: Handel harus memiliki hak akses PROCESS_QUERY_INFORMATION .
[out] lpMinimumWorkingSetSize
Penunjuk ke variabel yang menerima ukuran set kerja minimum dari proses yang ditentukan, dalam byte. Manajer memori virtual mencoba untuk menjaga setidaknya memori sebanyak ini dalam proses setiap kali proses aktif.
[out] lpMaximumWorkingSetSize
Penunjuk ke variabel yang menerima ukuran set kerja maksimum dari proses yang ditentukan, dalam byte. Manajer memori virtual mencoba untuk menjaga tidak lebih dari memori sebanyak ini dalam proses setiap kali proses aktif ketika memori dalam pasokan singkat.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
"Set kerja" dari suatu proses adalah kumpulan halaman memori yang saat ini terlihat oleh proses dalam memori RAM fisik. Halaman-halaman ini adalah residen dan tersedia untuk digunakan aplikasi tanpa memicu kesalahan halaman. Ukuran set kerja minimum dan maksimum mempengaruhi perilaku halaman memori virtual dari sebuah proses.
Contoh
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
SIZE_T dwMin, dwMax;
HANDLE hProcess;
if (argc != 2)
{
printf("This program requires a process ID as an argument.\n");
return 1;
}
// Retrieve a handle to the process.
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION,
FALSE, atoi(argv[1]));
if (!hProcess)
{
printf( "OpenProcess failed (%d)\n", GetLastError() );
return 1;
}
// Retrieve the working set size of the process.
if (!GetProcessWorkingSetSize(hProcess, &dwMin, &dwMax))
{
printf("GetProcessWorkingSetSize failed (%d)\n",
GetLastError());
return 1;
}
printf("Process ID: %d\n", atoi(argv[1]));
printf("Minimum working set: %lu KB\n", dwMin/1024);
printf("Maximum working set: %lu KB\n", dwMax/1024);
CloseHandle(hProcess);
return 0;
}
Persyaratan
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Header | memoryapi.h |
Pustaka | onecore.lib |
DLL | Kernel32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk