Likes Likes:  0
Resultaten 1 tot 4 van de 4
Geen
  1. #1
    php server geheugen controle
    Ondernemer
    1.208 Berichten
    Ingeschreven
    09/06/04

    Locatie
    Arnhem

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter

    php server geheugen controle

    Met onderstaand stukje programmeerwerk heb ik inmiddels het aantal vrije geheugen uit de server verkregen.

    Nou is het zo dat bij de meeste servers het geheugen in een soort "slaapstand" wordt gezet. Als de processen bijvoorbeeld 10% van het geheugen gebruiken, dan wordt 70% in de "slaapstand" gezet.

    Met onderstaand script krijg ik de hoeveelheid vrij geheugen, echter is hier het geheugen in de "slaapstand" al afgehaald.

    Is er met PHP ook een mogelijkheid om het daadwerkelijk gebruikte geheugen uit te lezen?

    Code:
    // geheugen
    $memory = explode(" ", shell_exec("free -m| head -2|tail -1|awk '{print $2\" \"$3\" \"$4}'"));
    $memory = ($memory[1] / $tmemory[0]) * 100;
    echo round($memory, 2);
    Edit typfoutje:

    Code:
    // geheugen
    $memory = explode(" ", shell_exec("free -m| head -2|tail -1|awk '{print $2\" \"$3\" \"$4}'"));
    $memory = ($memory[1] / $memory[0]) * 100;
    echo round($memory, 2);
    Laatst gewijzigd door eweps; 30/06/07 om 21:07. Reden: Automerged Dubbelpost

  2. #2
    php server geheugen controle
    geregistreerd gebruiker
    241 Berichten
    Ingeschreven
    24/06/03

    Locatie
    Amsterdam

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: BV, 30141839
    Ondernemingsnummer: nvt

    cat /proc/meminfo

    Dan krijg je alle informatie precies.

  3. #3
    php server geheugen controle
    Ondernemer
    1.208 Berichten
    Ingeschreven
    09/06/04

    Locatie
    Arnhem

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Daarmee lukt het volgens mij inderdaad, bedankt!

    Code:
    <?php
    // geheugen
    $memory[0] = trim(substr(shell_exec("cat /proc/meminfo | grep 'MemFree'"), 9));
    $memory[1] = trim(substr(shell_exec("cat /proc/meminfo | grep 'Mem'"), 9));
    $memory[2] = $memory[1] - $memory[0];
    
    //$memory = explode(" ", shell_exec("free -m| head -2|tail -1|awk '{print $2\" \"$3\" \"$4}'"));
    //$memory = ($memory[1] / $memory[0]) * 100;
    $memory = ($memory[2] / $memory[1]) * 100;
    echo ';'.round($memory, 2);
    ?>
    Hm, toch niet. Ik kan nu inderdaad wel alle waarden uitlezen:

    Zou het kunnen dat ik grep Active en Inactive moet gebruiken? Dat lijken me waarden die meer overeenkomen.

    (heb momenteel even geen ssh tot mijn beschikking)

    - MemTotal: geeft het totale aantal geheugen.
    - MemFree: geeft het vrije geheugen, maar daar is het geheugen in "slaapstand" al af.
    - Buffers: dit lijkt me ook nog vrij geheugen.
    - Cached: dit lijkt me ook nog vrij geheugen.
    - Active: lijkt mij het aantal geheugen dat actief(in gebruik) is.
    - Inactive: lijkt mij het aantal geheugen dat niet actief (niet in gebruik) is.

    Echter kom ik met geen enkele berekening op het totaal aantal geheugen uit.

    http://gentoo-wiki.com/FAQ_Linux_Memory_Management

    Volgens die pagina is MemFree + Buffers(free) + Cached(free) het totale aantal vrije geheugen.

    met meminfo krijg ik echter geen cached(free) te zien, kan dat kloppen?

    $memory = explode(" ", shell_exec("free -m| head -2|tail -1|awk '{print $2\" \"$4\" \"$6\" \"$7}'"));
    $memory = (($memory[0] - ($memory[1] + $memory[2] + $memory[3])) / $memory[0]) * 100;
    echo round($memory, 2).'%';

    Dit geeft als het goed is de goede waarde, iemand die het met mij oneens is?
    Laatst gewijzigd door eweps; 03/07/07 om 13:08. Reden: Automerged Dubbelpost

  4. #4
    php server geheugen controle
    DutchVirtual
    364 Berichten
    Ingeschreven
    20/07/05

    Locatie
    Utrecht

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    Registrar SIDN: -
    KvK nummer: 11065157
    Ondernemingsnummer: nvt

    Citaat Oorspronkelijk geplaatst door eweps Bekijk Berichten
    Nou is het zo dat bij de meeste servers het geheugen in een soort "slaapstand" wordt gezet. Als de processen bijvoorbeeld 10% van het geheugen gebruiken, dan wordt 70% in de "slaapstand" gezet.
    Misschien bij jouw servers, maar bij die van mij zeker niet! Als die instelling er in zat, dan stond deze zeker uit: je wil dat vrij geheugen wordt gebruikt om data op schijf te cachen.

    Citaat Oorspronkelijk geplaatst door eweps Bekijk Berichten
    Code:
    // geheugen
    $memory = explode(" ", shell_exec("free -m| head -2|tail -1|awk '{print $2\" \"$3\" \"$4}'"));
    $memory = ($memory[1] / $memory[0]) * 100;
    echo round($memory, 2);
    Als je vrij geheugen wilt hebben, dan doe je:
    Code:
    free -m | head -3 | tail -1 | awk '{print $4}'
    Uit /proc/meminfo zal wel kunnen, maar dan moet je gaan rekenen, voor zover ik het kan zien.

    Uitleg: je wilt het vrije geheugen (kolom 'free'). Hier staan twee rijen in. De eerste rij geeft het "echt vrije geheugen" aan. De tweede rij geef het "echt vrije geheugen" aan, maar dan met buffers/cache eraf -- immers, buffers/cache wordt verkleind als het nodig is om applicaties te laden. Dat is dus niet het "echt vrije geheugen", maar het "vrij beschikbare geheugen voor applicaties"....

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics