Informacje o wielkosci pamieci wirtualnej w systemie??

Odpowiedz Nowy wątek
Vash
2006-09-09 22:35
Vash
0

Witam, mam problem z podjeciem informacji na temat wielkosci pamieci wirtulaniej w systemie z Freameworkiem 2.0.

Ogolne pamiec wiertualna w systemie Windows Xp to troche abstrakja z mojich obserwacji (na podstawie danych z programu Aida32) wynika ze jest to suma pamieci zainstalowanej w PC (RAM) oraz wielkosci pliku swap(pagefile). Jezeli chodzi o ta pierwsza pamiec to niema problemu w zdobyciu o niej informacji problem jest z wirtulna czy tez swap-em

Zatem wlasciwe moje pytanie jest jak podjac informajce o aktulanym wykorzystaniu pamieci swap oraz jej maksymalnego rozmiaru.

podam tylko ze nie chodzi mnie tutaj o funkcje TotalVirtualMemory (z klasy Computerinfo ) gdyz ona zwraca zupelnie co innego.

Pozostało 580 znaków

Vash
2006-09-09 23:58
Vash
0

Odp

using ....
...
using System.Runtime.InteropServices;

namespace Memorystat
{
    [StructLayout(LayoutKind.Sequential)]   
    public struct MEMORYSTATUS
    {
            public  uint dwLength;
            public  uint dwMemoryLoad;
            public  uint dwTotalPhys;
            public  uint dwAvailPhys;
            public  uint dwTotalPageFile;
            public  uint dwAvailPageFile;
            public  uint dwTotalVirtual;
            public  uint dwAvailVirtual;
     }
   public class Memory
      {
        //Pobieramy statut pamieci
        [DllImport("kernel32")]
        static extern void GlobalMemoryStatus(ref MEMORYSTATUS buf);

                protected void ram_info()
               {

                MEMORYSTATUS memSt = new MEMORYSTATUS();
                GlobalMemoryStatus(ref memSt);

                Console.WriteLine("Available Page File :        " + (memSt.dwAvailPageFile / 1024).ToString() + "\n " +
                "Available Physical Memory :        " + (memSt.dwAvailPhys / 1024).ToString() + "\n " +
                "Available Virtual Memory :     " + (memSt.dwAvailVirtual / 1024).ToString() + "\n " +
                "Size of structur :         " + memSt.dwLength.ToString() + "\n " +
                "Memory In Use :            " + memSt.dwMemoryLoad.ToString() + "\n " +
                "Total Page Size :          " + (memSt.dwTotalPageFile / 1024).ToString() + "\n " +
                "Total Physical Memory :        " + (memSt.dwTotalPhys / 1024).ToString() + "\n " +
                "Total Virtual Memory :     " + (memSt.dwTotalVirtual / 1024).ToString());

                }

.......... i tam gdzies wywolanie
        }
}

enjoy ;]

Pozostało 580 znaków

kts
2006-09-12 16:17
kts

Rejestracja: 14 lat temu

Ostatnio: 13 lat temu

0

proponuje rowniez zajrzec do przestrzeni nazw:

System.Diagnostics

a szczegolnie na wlasciwosci klasy process:

VirtualMemorySize
VirtualMemorySize64

Link:
http://msdn2.microsoft.com/en[...]cess.virtualmemorysize64.aspx

Pozostało 580 znaków

Vash
2006-09-17 13:11
Vash
0

@kts

Rozwiazanei jest dobre jezeli to chodzio o to ile sam proces (np. nasz program) zajmuje a nie ogolem.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0