Informations sur les ensembles de travail

L’ensemble de travail d’un processus est la quantité de mémoire mappée physiquement à son contexte de processus. PSAPI vous permet de prendre des instantanés de l’ensemble de travail ou de surveiller le groupe de travail.

La fonction QueryWorkingSet ou QueryWorkingSetEx remplit une mémoire tampon avec une instantané des informations pour chaque page du jeu de travail actuel du processus spécifié. La fonction signale uniquement les pages physiquement présentes au moment exact où elle est appelée.

Vous pouvez utiliser l’analyse des ensembles de travail pour déterminer la quantité de RAM supplémentaire nécessaire pour une opération particulière (par exemple, l’enregistrement d’un fichier). Pour commencer à surveiller l’ensemble de travail, appelez la fonction InitializeProcessForWsWatch . Tous les processus ne vous permettent pas de lire les informations de leur jeu de travail. Veillez donc à ce que la fonction retourne une valeur différente de zéro avant de continuer. Ensuite, appelez la fonction GetWsChanges . Cette fonction signale uniquement les pages qui ont été chargées en mémoire depuis que vous avez commencé à surveiller l’ensemble de travail. La fonction retourne des données dans un tableau de structures PSAPI_WS_WATCH_INFORMATION , une structure pour chaque nouvelle page ajoutée au jeu de travail du processus. La structure vous indique quelles pages sont en mémoire et ce qui a provoqué l’introduction de leur page par le système.

La fonction EmptyWorkingSet prend un handle de processus. Il supprime autant de pages que possible de l’ensemble de travail du processus. Cette opération est principalement utile pour le test et le paramétrage. Notez que la fonction SetProcessWorkingSetSize fait la même chose si vous passez -1 pour les tailles minimale et maximale.

Jeu de travail