Server-RAM mit PHP bekommen
Gibt es eine Möglichkeit zu wissen, die verfügbare ram im server (linux-Distribution) mit php (widthout mit linux-Befehlen)?
edit: sorry, das Ziel ist, bewusst zu sein, die ram in den server /virtuelle Maschine, für den jeweiligen server (auch wenn dieser Speicher freigegeben).
InformationsquelleAutor der Frage yoda | 2009-09-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wissen, dieser code wird nur dann ausgeführt werden, unter Linux, können Sie die spezielle
/proc/meminfo
- Datei, um Informationen über das system virtuellen Speicher-subsystem. Die Datei hat ein Formular wie dieses:Dass die erste Zeile
MemTotal: ...
enthält die Menge der physischen RAM in der Maschine, abzüglich der reservierten Speicherplatz der kernel für den eigenen Gebrauch. Es ist der beste Weg den ich kenne um einen einfachen Bericht, der nutzbare Speicher auf einem Linux-system. Sie sollten in der Lage sein, um Sie zu gewinnen über etwas wie den folgenden code:(Bitte beachten: dieser code kann erfordern einige Anpassungen für Ihre Umgebung.)
InformationsquelleAutor der Antwort rcoder
Mit
/proc/meminfo
und immer alles in ein array ist einfach:var_dump( getSystemMemInfo() );
InformationsquelleAutor der Antwort J.C. Inacio
Linux-Befehle ausgeführt werden können, mit der exec - Funktion in PHP. Dies ist effizient und wird den job machen(wenn Ziel ist es, um den Speicher zu bekommen).
Versuchen Sie den folgenden code:
InformationsquelleAutor der Antwort fotuzlab
Es ist erwähnenswert, dass in Windows werden diese Informationen (und vieles mehr) erworben werden kann, durch ausführen und analysieren Sie die Ausgabe von der shell-Befehl: systeminfo
InformationsquelleAutor der Antwort xendi
Ich glaube nicht, können Sie den Zugriff auf die host-server-Speicher info, ohne eine Besondere schriftliche PHP-Erweiterung. Die PHP-core-Bibliothek nicht möglich (vielleicht aus Sicherheitsgründen), um Zugriff auf den extended memory info.
Jedoch, wenn Ihr Skript hat Zugriff auf die
/proc/meminfo
dann können Sie die Abfrage, die spezielle Datei und greifen Sie die Informationen, die Sie benötigen. Unter Windows (obwohl Sie haben nicht danach gefragt) können wir diecom_dotnet
PHP-Erweiterung zur Abfrage der Windows-framework über die COM.Unten finden Sie meine
getSystemMemoryInfo
zurückgibt, die info für Sie, egal, wenn Sie führen Sie das Skript auf einem Linux - /Windows-server. DiewmiWBemLocatorQuery
ist nur eine Hilfsfunktion.Beispiel auf einem 8GB RAM system
Ausgabe
Wenn Sie möchten, um zu verstehen, was jedes Feld stellen dann Lesen Sie mehr.
InformationsquelleAutor der Antwort Eugen Mihailescu
//Helfer
InformationsquelleAutor der Antwort Helmut Hoffer von Ankershoffen
kürzere version
InformationsquelleAutor der Antwort Elvis Ciotti
Ich kann mich nicht erinnern, jemals gesehen, wie eine Funktion-seine Art, den Umfang dessen, was PHP ist für, wirklich.
Selbst wenn es solch eine functionnality, würde es wahrscheinlich sein umgesetzt in einer Weise, dass wäre spezifisch für das zugrunde liegende Betriebssystem, und würde nicht wahrscheinlich funktionieren auf Linux-und windows - (siehe
sys_getloadavg
ein Beispiel für diese Art der Sache)InformationsquelleAutor der Antwort Pascal MARTIN