Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Process.PeakWorkingSet64 (Propiedad)

Obtiene el tamaño máximo de la memoria física que utiliza el proceso asociado.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

[ComVisibleAttribute(false)]
public long PeakWorkingSet64 { get; }

Valor de propiedad

Tipo: System.Int64
El tamaño máximo de memoria física, expresado en bytes, que se ha asignado para el proceso asociado desde su inicio.

ExcepciónCondición
PlatformNotSupportedException

La plataforma es Windows 98 o Windows Millennium (Windows Me), que no admiten esta propiedad.

El valor devuelto por esta propiedad representa el tamaño máximo de memoria de espacio de trabajo que utiliza el proceso desde su inicio. El espacio de trabajo de un proceso es el conjunto de páginas de memoria visibles actualmente para el proceso en la memoria RAM física. Estas páginas están disponibles para que una aplicación las utilice sin que se desencadene un error de página.

El espacio de trabajo incluye datos compartidos y privados. Los datos compartidos comprenden las páginas que contienen todas las instrucciones que el proceso ejecuta, incluidas las instrucciones de los módulos de proceso y de las bibliotecas del sistema.

Esta propiedad puede utilizarse para supervisar la utilización de memoria en equipos con procesadores de 32 bits o de 64 bits. El valor de propiedad es equivalente al contador de rendimiento Uso máximo del espacio de trabajo del proceso.

Nota de la plataforma : Esta propiedad no se admite en Windows 98 o Windows Millennium (Windows Me).

En el ejemplo de código siguiente se inicia una instancia de la aplicación Bloc de notas. A continuación, se recuperan y se muestran diversas propiedades del proceso asociado. En el ejemplo se detecta cuándo sale el proceso, y se muestra su código de salida y las estadísticas de memoria máxima.


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;

            Process myProcess = null;

            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.ToString());
                        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 != null)
                {
                    myProcess.Close();
                }
            }
        }

    }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

  • LinkDemand 

    para que haya plena confianza para el llamador inmediato. Este miembro no puede ser utilizado por código de confianza parcial.

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft