Teilen über


Process.WorkingSet Eigenschaft

Definition

Achtung

This property has been deprecated. Please use System.Diagnostics.Process.WorkingSet64 instead. https://go.microsoft.com/fwlink/?linkid=14202

Achtung

Process.WorkingSet has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.WorkingSet64 instead.

Achtung

This property has been deprecated. Please use System.Diagnostics.Process.WorkingSet64 instead. http://go.microsoft.com/fwlink/?linkid=14202

Ruft die Belegung des physischen Speichers durch den zugeordneten Prozess in Bytes ab.

public:
 property int WorkingSet { int get(); };
[System.Obsolete("This property has been deprecated.  Please use System.Diagnostics.Process.WorkingSet64 instead.  https://go.microsoft.com/fwlink/?linkid=14202")]
public int WorkingSet { get; }
[System.Obsolete("Process.WorkingSet has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.WorkingSet64 instead.")]
public int WorkingSet { get; }
[System.Obsolete("This property has been deprecated.  Please use System.Diagnostics.Process.WorkingSet64 instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
public int WorkingSet { get; }
public int WorkingSet { get; }
[<System.Obsolete("This property has been deprecated.  Please use System.Diagnostics.Process.WorkingSet64 instead.  https://go.microsoft.com/fwlink/?linkid=14202")>]
member this.WorkingSet : int
[<System.Obsolete("Process.WorkingSet has been deprecated because the type of the property can't represent all valid results. Use System.Diagnostics.Process.WorkingSet64 instead.")>]
member this.WorkingSet : int
[<System.Obsolete("This property has been deprecated.  Please use System.Diagnostics.Process.WorkingSet64 instead.  http://go.microsoft.com/fwlink/?linkid=14202")>]
member this.WorkingSet : int
member this.WorkingSet : int
Public ReadOnly Property WorkingSet As Integer

Eigenschaftswert

Der Gesamtgröße des vom zugeordneten Prozess verwendeten physischen Speichers in Bytes.

Attribute

Beispiele

Im folgenden Beispiel wird eine instance von Editor gestartet. Im Beispiel werden dann verschiedene Eigenschaften des zugeordneten Prozesses abgerufen und angezeigt. Das Beispiel erkennt, wann der Prozess beendet wird, und zeigt den Exitcode des Prozesses an.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   try
   {
      Process^ myProcess;
      myProcess = Process::Start( "NotePad.exe" );
      while (  !myProcess->HasExited )
      {
         Console::WriteLine();
         
         // Get physical memory usage of the associated process.
         Console::WriteLine( "Process's physical memory usage: {0}", myProcess->WorkingSet.ToString() );
         
         // Get base priority of the associated process.
         Console::WriteLine( "Base priority of the associated process: {0}", myProcess->BasePriority.ToString() );
         
         // Get priority class of the associated process.
         Console::WriteLine(  "Priority class of the associated process: {0}", myProcess->PriorityClass );
         
         // Get user processor time for this process.
         Console::WriteLine( "User Processor Time: {0}", myProcess->UserProcessorTime.ToString() );
         
         // Get privileged processor time for this process.
         Console::WriteLine( "Privileged Processor Time: {0}", myProcess->PrivilegedProcessorTime.ToString() );
         
         // Get total processor time for this process.
         Console::WriteLine( "Total Processor Time: {0}", myProcess->TotalProcessorTime.ToString() );
         
         // Invoke overloaded ToString function.
         Console::WriteLine( "Process's Name: {0}", myProcess->ToString() );
         Console::WriteLine( "-------------------------------------" );
         if ( myProcess->Responding )
         {
            Console::WriteLine( "Status:  Responding to user interface" );
            myProcess->Refresh();
         }
         else
         {
            Console::WriteLine( "Status:  Not Responding" );
         }
         Thread::Sleep( 1000 );
      }
      Console::WriteLine();
      Console::WriteLine(  "Process exit code: {0}", myProcess->ExitCode.ToString() );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The following exception was raised:  {0}", e->Message );
   }

}
using System;
using System.Diagnostics;
using System.Threading;

namespace ProcessSample
{
    class MyProcessClass
    {
        public static void Main()
        {
            try
            {
                using (Process myProcess = Process.Start("NotePad.exe"))
                {
                    while (!myProcess.HasExited)
                    {
                        Console.WriteLine();

                        Console.WriteLine($"Physical memory usage     : {myProcess.WorkingSet}");
                        Console.WriteLine($"Base priority             : {myProcess.BasePriority}");
                        Console.WriteLine($"Priority class            : {myProcess.PriorityClass}");
                        Console.WriteLine($"User processor time       : {myProcess.UserProcessorTime}");
                        Console.WriteLine($"Privileged processor time : {myProcess.PrivilegedProcessorTime}");
                        Console.WriteLine($"Total processor time      : {myProcess.TotalProcessorTime}");
                        Console.WriteLine($"Process's Name            : {myProcess}");
                        Console.WriteLine("-------------------------------------");

                        if (myProcess.Responding)
                        {
                            Console.WriteLine("Status:  Responding to user interface");
                            myProcess.Refresh();
                        }
                        else
                        {
                            Console.WriteLine("Status:  Not Responding");
                        }

                        Thread.Sleep(1000);
                    }

                    Console.WriteLine();
                    Console.WriteLine($"Process exit code: {myProcess.ExitCode}");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine($"The following exception was raised: {e.Message}");
            }
        }
    }
}
Imports System.Diagnostics
Imports System.Threading

Namespace Process_Sample
    Class MyProcessClass

        Public Shared Sub Main()
            Try

                Using myProcess = Process.Start("NotePad.exe")

                    While Not myProcess.HasExited

                        Console.WriteLine()

                        Console.WriteLine($"Process's physical memory usage          : {myProcess.WorkingSet}")
                        Console.WriteLine($"Base priority of the associated process  : {myProcess.BasePriority}")
                        Console.WriteLine($"Priority class of the associated process : {myProcess.PriorityClass}")
                        Console.WriteLine($"User processor time                      : {myProcess.UserProcessorTime}")
                        Console.WriteLine($"Privileged processor time                : {myProcess.PrivilegedProcessorTime}")
                        Console.WriteLine($"Total processor time                     : {myProcess.TotalProcessorTime}")
                        Console.WriteLine($"Process's name                           : {myProcess}")
                        Console.WriteLine("-------------------------------------")

                        If myProcess.Responding Then
                            Console.WriteLine("Status:  Responding to user interface")
                            myProcess.Refresh()
                        Else
                            Console.WriteLine("Status:  Not Responding")
                        End If
                        Thread.Sleep(1000)
                    End While

                    Console.WriteLine()
                    Console.WriteLine($"Process exit code: {myProcess.ExitCode}")
                End Using

            Catch e As Exception
                Console.WriteLine($"The following exception was raised: {e.Message}")
            End Try
        End Sub
    End Class
End Namespace 'Process_Sample

Hinweise

Der von dieser Eigenschaft zurückgegebene Wert stellt die zuletzt aktualisierte Größe des Arbeitssatzspeichers dar, der vom Prozess in Byte verwendet wurde. Um die aktuellste Größe zu erhalten, müssen Sie zuerst die -Methode aufrufen Refresh() .

Der Arbeitssatz eines Prozesses ist der Satz von Arbeitsspeicherseiten, die derzeit für den Prozess im physischen RAM-Arbeitsspeicher sichtbar sind. Diese Seiten sind resident und können von einer Anwendung verwendet werden, ohne dass ein Seitenfehler ausgelöst wird.

Der Arbeitssatz umfasst sowohl freigegebene als auch private Daten. Die freigegebenen Daten umfassen die Seiten, die alle Anweisungen enthalten, die der Prozess ausführt, einschließlich der Prozessmodule und der Systembibliotheken.

Gilt für:

Weitere Informationen