Process.PeakVirtualMemorySize64 Vlastnost

Definice

Získá maximální velikost virtuální paměti v bajtech, které používá přidružený proces.

public long PeakVirtualMemorySize64 { get; }
[System.Runtime.InteropServices.ComVisible(false)]
public long PeakVirtualMemorySize64 { get; }

Hodnota vlastnosti

Maximální množství virtuální paměti v bajtech přidělené přidruženému procesu od jeho spuštění.

Atributy

Příklady

Následující příklad kódu spustí instanci aplikace Poznámkový blok. Příklad pak načte a zobrazí různé vlastnosti přidruženého procesu. Příklad zjistí, kdy se proces ukončí, a zobrazí jeho ukončovací kód a statistiku paměti ve špičce.

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}");
            }
        }
    }
}

Poznámky

Hodnota vrácená touto vlastností představuje maximální velikost virtuální paměti používané procesem od jeho spuštění v bajtech. Operační systém mapuje virtuální adresní prostor pro každý proces buď na stránky načtené ve fyzické paměti, nebo na stránky uložené ve stránkovacím souboru virtuální paměti na disku.

Tuto vlastnost lze použít k monitorování využití paměti v počítačích s 32bitovými procesory nebo 64bitovými procesory. Hodnota vlastnosti odpovídá čítači výkonu Virtual Bytes Peak pro proces.

Platí pro

Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Viz také