有没有办法用 php 知道服务器(linux 发行版)中的可用内存(不使用 linux 命令)?
编辑:抱歉,目标是了解特定服务器的服务器/虚拟机中可用的内存(即使该内存是共享的)。
如果你知道这段代码只能在Linux下运行,你可以使用特殊的/proc/meminfo
文件来获取有关系统虚拟内存子系统的信息。该文件的格式如下:
MemTotal: 255908 kB
MemFree: 69936 kB
Buffers: 15812 kB
Cached: 115124 kB
SwapCached: 0 kB
Active: 92700 kB
Inactive: 63792 kB
...
第一行,MemTotal: ...
,包含机器中的物理 RAM 量,减去内核为其自身使用保留的空间。这是我所知道的获取 Linux 系统上可用内存的简单报告的最佳方法。您应该能够通过类似以下代码的方式提取它:
<?php
$fh = fopen('/proc/meminfo','r');
$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"; ?>
(请注意:此代码可能需要针对您的环境进行一些调整。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)