Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Process.WorkingSet64 (Propiedad)

Obtiene el tamaño de la memoria física que se ha asignado para el proceso asociado.

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

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

Valor de propiedad

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

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 actual de la memoria de espacio de trabajo que utiliza el proceso. 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 la propiedad es equivalente al contador de rendimiento 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, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

  • LinkDemand 

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

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.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:
© 2015 Microsoft