Bu kod sadece Linux altında çalışan olacak biliyorsanız, sistemin sanal bellek alt sistemi hakkında bilgi almak için özel /proc/meminfo
dosyasını kullanabilirsiniz. Dosya böyle bir formu vardır:
MemTotal: 255908 kB
MemFree: 69936 kB
Buffers: 15812 kB
Cached: 115124 kB
SwapCached: 0 kB
Active: 92700 kB
Inactive: 63792 kB
...
O ilk satırı, MemTotal: ...
, makinede fiziksel RAM miktarı, eksi kendi kullanımı için çekirdek tarafından ayrılmış boşluk içerir. Bu bir Linux sistemi üzerinde kullanılabilir bellek basit bir rapor almak için bildiğim en iyi yoludur. Aşağıdaki kodu gibi bir şey ile bunu ayıklamak gerekir:
<?php
$fh = fopen('/proc/meminfo');
$mem = 0;
while ($line = fgets($fh)) {
$pieces = array();
if (preg_match('^MemTotal:\s+(\d+)\skB$', $line, $pieces)) {
$mem = $pieces[1];
break;
}
}
fclose($fh);
echo "$mem kB RAM found"; ?>
(Lütfen dikkat: Bu kod, çevre için bazı verdiği gerekebilir.)