JOBOBJECT_EXTENDED_LIMIT_INFORMATION-Struktur (winnt.h)

Enthält grundlegende und erweiterte Grenzwertinformationen für ein Auftragsobjekt.

Syntax

typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION {
  JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation;
  IO_COUNTERS                       IoInfo;
  SIZE_T                            ProcessMemoryLimit;
  SIZE_T                            JobMemoryLimit;
  SIZE_T                            PeakProcessMemoryUsed;
  SIZE_T                            PeakJobMemoryUsed;
} JOBOBJECT_EXTENDED_LIMIT_INFORMATION, *PJOBOBJECT_EXTENDED_LIMIT_INFORMATION;

Member

BasicLimitInformation

Eine JOBOBJECT_BASIC_LIMIT_INFORMATION-Struktur , die grundlegende Grenzwertinformationen enthält.

IoInfo

Reserviert.

ProcessMemoryLimit

Wenn der LimitFlags-Member der JOBOBJECT_BASIC_LIMIT_INFORMATION-Struktur den JOB_OBJECT_LIMIT_PROCESS_MEMORY-Wert angibt, gibt dieses Element den Grenzwert für den virtuellen Arbeitsspeicher an, der von einem Prozess committet werden kann. Andernfalls wird dieser Member ignoriert.

JobMemoryLimit

Wenn der LimitFlags-Member der JOBOBJECT_BASIC_LIMIT_INFORMATION-Struktur den JOB_OBJECT_LIMIT_JOB_MEMORY-Wert angibt, gibt dieser Member den Grenzwert für den virtuellen Arbeitsspeicher an, der für den Auftrag committet werden kann. Andernfalls wird dieser Member ignoriert.

PeakProcessMemoryUsed

Der Spitzenspeicher, der von jedem Prozess verwendet wird, der jemals dem Auftrag zugeordnet ist.

PeakJobMemoryUsed

Die spitzen Speicherauslastung aller Prozesse, die derzeit dem Auftrag zugeordnet sind.

Hinweise

Das System verfolgt den Wert von PeakProcessMemoryUsed und PeakJobMemoryUsed kontinuierlich nach. Dadurch können Sie die Spitzenauslastung des Arbeitsspeichers der einzelnen Aufträge kennen. Sie können diese Informationen verwenden, um mithilfe des JOB_OBJECT_LIMIT_PROCESS_MEMORY- oder JOB_OBJECT_LIMIT_JOB_MEMORY-Werts ein Speicherlimit festzulegen.

Beachten Sie, dass die Grenzwerte für Auftragsspeicher und Prozessspeicher im Betrieb sehr ähnlich sind, aber unabhängig sind. Sie können ein auftragsweites Limit von 100 MB mit einem Pro-Prozess-Limit von 10 MB festlegen. In diesem Szenario kann kein einzelner Prozess mehr als 10 MB commiten, und der Satz von Prozessen, die einem Auftrag zugeordnet sind, darf niemals 100 MB überschreiten.

Verwenden Sie die SetInformationJobObject-Funktion mit der JobObjectNotificationLimitInformation-Informationsklasse , um Benachrichtigungen darüber zu erhalten, dass ein Auftrag den Maximalen Arbeitsspeichergrenzwert überschritten hat, während Prozesse weiterhin Arbeitsspeicher committen können.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winnt.h (Einschließen von Windows.h)

Weitere Informationen

JOBOBJECT_BASIC_LIMIT_INFORMATION

JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION

QueryInformationJobObject

SetInformationJobObject