[php] Memory Win nt *

Pagina: 1
Acties:

  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:16
Ik heb de search al gebruikt maar niets kunnen vinden. Hoe krijg ik de gegevens met betrekking tot het geheugen van mijn Windows NT server in php variabelen ?

Console Guy


Verwijderd

Daar heb je een extern programma voor nodig. Misschien zit er wat in de microsoft nt resource kit? (Zoek eens met google)

  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Ik weet dat er voor de uptime een programmaatje uptime.exe is. dat kun je dan aanroepen vanuit PHP en zo zien hoelang je server up is. Misschien dat zoiets ook voor memory bestaat :?

  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:16
Google en Microsoft leverde niets op :'(

Ben ik dan de enige die dit wil |:( Een extern programma heb ik ook niet kunnen vinden. Lijkt allemaal zo simpel maar zelfs op download.com kan ik geen programma vinden wat commandline de nodige info geeft. Tegenwoordig moet alles grafisch |:( en dat heb ik nou net niet nodig

Console Guy


  • Grum
  • Registratie: Juni 2001
  • Niet online
en et programma 'mem' ? :)
code:
1
2
3
4
5
6
7
8
9
10
11
C:\>mem


    655360 bytes total conventional memory
    655360 bytes available to MS-DOS
    633376 largest executable program size

   1048576 bytes total contiguous extended memory
       0 bytes available contiguous extended memory
    941056 bytes available XMS memory
         MS-DOS resident in High Memory Area

[edit] lekker dan .. alleen conventioneele zut :)

  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:16
Op maandag 18 maart 2002 23:28 schreef Grum het volgende:
en et programma 'mem' ? :)
lol. Maar hier laat ik niets zien boven de 1 Mb :'(

Console Guy


  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:16
Schopje.........

Console Guy


Verwijderd

Nou vooruit, omdat ik toch even pauze had:

Visual-C source-code voor beschikbaar fysiek en virtual geheugen. Andere members die ge"printf"t kunnen worden, zijn te vinden op msdn.microsoft.com bij de beschrijving van de functie GlobalMemoryStatus.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define WIN32_LEAN_AND_MEAN

#include <stdio.h>
#include <windows.h>
#include <winbase.h>

int main(void)
{
    MEMORYSTATUS status;

    GlobalMemoryStatus(&status);

    printf("Memory Load: %u\n", status.dwMemoryLoad);
    printf("Availible Physical Memory: %u\n", status.dwAvailPhys);
    printf("Availible Virtual Memory: %u\n", status.dwAvailVirtual);

    return 0;
}

http://www.case.to/~arie/downloads/mem.exe (28 kb)
MD5 signature: 01b28b35046ebd1e9f3ff553e2adffbb

  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:16
Toppie :)

Als je toch bezig bent.....

Kun je hem niet schrijven met schakelopties ? Zoals "mem -e" is totaal geinstalleerd.....

Ik heb nodig totaal geinstalleerd en totaal in gebruik. De rest kan ik dan uitrekenen..... :7

Console Guy


Verwijderd

We doen niet aan script requests he ;)
Enne, schakelopties mag je er zelf in bouwen als je wilt :7 (ik heb geen uren pauze :Y) )
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#define WIN32_LEAN_AND_MEAN

#include <stdio.h>
#include <windows.h>
#include <winbase.h>

int main(void)
{
    MEMORYSTATUS status;

    GlobalMemoryStatus(&status);

    printf("Totaal (fysiek): %u\n", status.dwTotalPhys);
    printf("Totaal (virtual): %u\n", status.dwTotalVirtual);
    printf("Beschikbaar (fysiek): %u\n", status.dwAvailPhys);
    printf("Beschikbaar (virtual): %u\n", status.dwAvailVirtual);

    return 0;
}

http://www.case.to/~arie/downloads/mem2.exe

  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:16
Script request :?

Ik kan zelf niet programeren helaas. Of bedoel je dat ik jou code rechtsreeks in php kan zetten ?

Console Guy


Verwijderd

Script request :?
Lees maar even de faq van P&W... (onder script moet je in dat geval ook programma verstaan)
Ik kan zelf niet programeren helaas. Of bedoel je dat ik jou code rechtsreeks in php kan zetten ?
Dat zal niet zomaar gaan.
Maar je kan wel een
code:
1
$s = `mem.exe`

in php doen
en dan zal $s de string "Totaal (physiek): [een getal]\nTotaal (virtual): ...etc..." bevatten, waarbij je de getallen er zo uitfiltert. Zo bijvoorbeeld:
PHP:
1
<?$regels = explode("\n", `mem.exe`);$totaal_fysiek = substr($regels[0], 17);$totaal_virtual = substr($regels[1], 18);$beschikbaar_fysiek = substr($regels[2], 22);$beschikbaar_virtual = substr($regels[3], 23);?>

  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:16
Thanks man.

Je hebt meer gedaan dan nodig was >:) Ik ben in ieder geval gered met de exe die je hebt geschreven. Nergens heb ik een proggie kunnen vinden wat hetzelfde deed wat die van jou doet.

Console Guy


  • The Gamblers
  • Registratie: Januari 2001
  • Laatst online: 23:16
Zit net jouw exe uit te proberen.. Hij geeft niet de juiste waardes terug onder windows 2000 ???

Werkt ie alleen onder Nt 4 ????

Console Guy


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
mmm, vreemd. Ik heb uit een oude msdn-library-helpfile GlobalMemoryStatus gepakt die wat variablen invult en verder niet gekeken naar de waarden zelf.

Ik zag dat online iets meer daarover stond, inclusief een voorbeeld dat vergelijkend is aan de code die ik hier gepost heb.

Kijk hier maar eens:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/memman_090z.asp

Toen ik het scheef zat ik op een win98 pc waar het wel aardig op klopte, maar ik zit nu onder xp:
fysiek geheugen lijkt overeen te komen met dat taakbeheer ding, maar wat virtueel geheugen betreft klopt er niet veel van. Hij negeert een mogelijk limiet dat je op je page-file (swap-file) kan hebben zitten. Bij mij geeft 'ie op dit moment <vrije schijfruimte op station met page-file> + <page file size>.

Misschien een beter werkende versie is door gebruik te maken van GlobalMemoryStatusEx... maar die kan ik niet gebruiken :'(
Hij staat niet in mijn header filetjes en ook de kernel32.lib voor de linker bevat het symbool niet :(

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]

Pagina: 1