Process.TotalProcessorTime Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient le temps processeur total pour ce processus.
public:
property TimeSpan TotalProcessorTime { TimeSpan get(); };
public TimeSpan TotalProcessorTime { get; }
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public TimeSpan TotalProcessorTime { get; }
member this.TotalProcessorTime : TimeSpan
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.TotalProcessorTime : TimeSpan
Public ReadOnly Property TotalProcessorTime As TimeSpan
Valeur de propriété
TimeSpan qui indique la durée d'utilisation de l'unité centrale par le processus associé. Cette valeur est la somme de UserProcessorTime et de PrivilegedProcessorTime.
- Attributs
Exceptions
Vous tentez d’accéder à la propriété TotalProcessorTime d’un processus en cours d’exécution sur un ordinateur distant. Cette propriété est disponible uniquement pour les processus en cours d’exécution sur l’ordinateur local.
Exemples
L’exemple suivant démarre une instance du Bloc-notes. L’exemple récupère et affiche ensuite les différentes propriétés du processus associé. L’exemple détecte quand le processus se termine et affiche le code de sortie du processus.
#using <system.dll>
using namespace System;
using namespace System::Diagnostics;
int main()
{
// Define variables to track the peak
// memory usage of the process.
_int64 peakPagedMem = 0,peakWorkingSet = 0,peakVirtualMem = 0;
Process^ myProcess = nullptr;
try
{
// Start the process.
myProcess = Process::Start( "NotePad.exe" );
// Display the process statistics until
// the user closes the program.
do
{
if ( !myProcess->HasExited )
{
// Refresh the current process property values.
myProcess->Refresh();
Console::WriteLine();
// Display current process statistics.
Console::WriteLine( "{0} -", myProcess );
Console::WriteLine( "-------------------------------------" );
Console::WriteLine( " physical memory usage: {0}", myProcess->WorkingSet64 );
Console::WriteLine( " base priority: {0}", myProcess->BasePriority );
Console::WriteLine( " priority class: {0}", myProcess->PriorityClass );
Console::WriteLine( " user processor time: {0}", myProcess->UserProcessorTime );
Console::WriteLine( " privileged processor time: {0}", myProcess->PrivilegedProcessorTime );
Console::WriteLine( " total processor time: {0}", myProcess->TotalProcessorTime );
Console::WriteLine(" PagedSystemMemorySize64: {0}", myProcess->PagedSystemMemorySize64);
Console::WriteLine(" PagedMemorySize64: {0}", myProcess->PagedMemorySize64);
// Update the values for the overall peak memory statistics.
peakPagedMem = myProcess->PeakPagedMemorySize64;
peakVirtualMem = myProcess->PeakVirtualMemorySize64;
peakWorkingSet = myProcess->PeakWorkingSet64;
if ( myProcess->Responding )
{
Console::WriteLine( "Status = Running" );
}
else
{
Console::WriteLine( "Status = Not Responding" );
}
}
}
while ( !myProcess->WaitForExit( 1000 ) );
Console::WriteLine();
Console::WriteLine( "Process exit code: {0}", myProcess->ExitCode );
// Display peak memory statistics for the process.
Console::WriteLine( "Peak physical memory usage of the process: {0}", peakWorkingSet );
Console::WriteLine( "Peak paged memory usage of the process: {0}", peakPagedMem );
Console::WriteLine( "Peak virtual memory usage of the process: {0}", peakVirtualMem );
}
finally
{
if ( myProcess != nullptr )
{
myProcess->Close();
}
}
}
using System;
using System.Diagnostics;
namespace ProcessSample
{
class ProcessMonitorSample
{
public static void Main()
{
// Define variables to track the peak
// memory usage of the process.
long peakPagedMem = 0,
peakWorkingSet = 0,
peakVirtualMem = 0;
// Start the process.
using (Process myProcess = Process.Start("NotePad.exe"))
{
// Display the process statistics until
// the user closes the program.
do
{
if (!myProcess.HasExited)
{
// Refresh the current process property values.
myProcess.Refresh();
Console.WriteLine();
// Display current process statistics.
Console.WriteLine($"{myProcess} -");
Console.WriteLine("-------------------------------------");
Console.WriteLine($" Physical memory usage : {myProcess.WorkingSet64}");
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($" Paged system memory size : {myProcess.PagedSystemMemorySize64}");
Console.WriteLine($" Paged memory size : {myProcess.PagedMemorySize64}");
// Update the values for the overall peak memory statistics.
peakPagedMem = myProcess.PeakPagedMemorySize64;
peakVirtualMem = myProcess.PeakVirtualMemorySize64;
peakWorkingSet = myProcess.PeakWorkingSet64;
if (myProcess.Responding)
{
Console.WriteLine("Status = Running");
}
else
{
Console.WriteLine("Status = Not Responding");
}
}
}
while (!myProcess.WaitForExit(1000));
Console.WriteLine();
Console.WriteLine($" Process exit code : {myProcess.ExitCode}");
// Display peak memory statistics for the process.
Console.WriteLine($" Peak physical memory usage : {peakWorkingSet}");
Console.WriteLine($" Peak paged memory usage : {peakPagedMem}");
Console.WriteLine($" Peak virtual memory usage : {peakVirtualMem}");
}
}
}
}
Imports System.Diagnostics
Namespace ProcessSample
Class ProcessMonitorSample
Public Shared Sub Main()
' Define variables to track the peak
' memory usage of the process.
Dim peakPagedMem As Long = 0
Dim peakWorkingSet As Long = 0
Dim peakVirtualMem As Long = 0
' Start the process.
Using myProcess = Process.Start("NotePad.exe")
' Display process statistics until
' the user closes the program.
Do
If Not myProcess.HasExited Then
' Refresh the current process property values.
myProcess.Refresh()
Console.WriteLine()
' Display current process statistics.
Console.WriteLine($"{myProcess} -")
Console.WriteLine("-------------------------------------")
Console.WriteLine($" Physical memory usage : {myProcess.WorkingSet64}")
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($" Paged system memory size : {myProcess.PagedSystemMemorySize64}")
Console.WriteLine($" Paged memory size : {myProcess.PagedMemorySize64}")
' Update the values for the overall peak memory statistics.
peakPagedMem = myProcess.PeakPagedMemorySize64
peakVirtualMem = myProcess.PeakVirtualMemorySize64
peakWorkingSet = myProcess.PeakWorkingSet64
If myProcess.Responding Then
Console.WriteLine("Status = Running")
Else
Console.WriteLine("Status = Not Responding")
End If
End If
Loop While Not myProcess.WaitForExit(1000)
Console.WriteLine()
Console.WriteLine($" Process exit code : {myProcess.ExitCode}")
' Display peak memory statistics for the process.
Console.WriteLine($" Peak physical memory usage of the process : {peakWorkingSet}")
Console.WriteLine($" Peak paged memory usage of the process : {peakPagedMem}")
Console.WriteLine($" Peak virtual memory usage of the process : {peakVirtualMem}")
End Using
End Sub
End Class
End Namespace