图片待添加
图片待添加

WordPress主题开发教程:在网站底部显示服务器内存占用与负载

2019-02-24 21:57 分类:WordPress主题开发制作教程, WordPress教程 阅读(次阅读) 标签:,

有时候我们需要一打开自己的网站就能知道服务器的负载情况,而不是登录服务器看.
有什么办法呢?
在WordPress主题文件下的functions.php里,添加自定义函数,可以在页面打开的时候显示目前系统内存的使用、总共内存和系统负载等。

好了开始制作:
将下面的含税写入正在使用的主题的functions.php里,然后上传覆盖WordPress主题里的functions.php.

总物理内存:

function memTotal() {
    $str = @file("/proc/meminfo");
    $str = implode("", $str);
    preg_match_all("/MemTotal\s{0,}\:+\s{0,}([\d\.]+).+?MemFree\s{0,}\:+\s{0,}([\d\.]+).+?Cached\s{0,}\:+\s{0,}([\d\.]+).+?SwapTotal\s{0,}\:+\s{0,}([\d\.]+).+?SwapFree\s{0,}\:+\s{0,}([\d\.]+)/s", $str, $buf);
    preg_match_all("/Buffers\s{0,}\:+\s{0,}([\d\.]+)/s", $str, $buffers);
    $memTotal = round($buf[1][0]/1024, 2);
    return $memTotal;
}

内存使用:

function memUsed() {
    $str = @file("/proc/meminfo");
    $str = implode("", $str);
    preg_match_all("/MemTotal\s{0,}\:+\s{0,}([\d\.]+).+?MemFree\s{0,}\:+\s{0,}([\d\.]+).+?Cached\s{0,}\:+\s{0,}([\d\.]+).+?SwapTotal\s{0,}\:+\s{0,}([\d\.]+).+?SwapFree\s{0,}\:+\s{0,}([\d\.]+)/s", $str, $buf);
    preg_match_all("/Buffers\s{0,}\:+\s{0,}([\d\.]+)/s", $str, $buffers);
    $memTotal = round($buf[1][0]/1024, 2);
    $memFree = round($buf[2][0]/1024, 2);
    $memUsed = $memTotal-$memFree;
    return $memUsed;
}

真实内存使用:

function memRealUsed() {
    $str = @file("/proc/meminfo");
    $str = implode("", $str);
    preg_match_all("/MemTotal\s{0,}\:+\s{0,}([\d\.]+).+?MemFree\s{0,}\:+\s{0,}([\d\.]+).+?Cached\s{0,}\:+\s{0,}([\d\.]+).+?SwapTotal\s{0,}\:+\s{0,}([\d\.]+).+?SwapFree\s{0,}\:+\s{0,}([\d\.]+)/s", $str, $buf);
    preg_match_all("/Buffers\s{0,}\:+\s{0,}([\d\.]+)/s", $str, $buffers);
    $memTotal = round($buf[1][0]/1024, 2);
    $memFree = round($buf[2][0]/1024, 2);
  $memCached = round($buf[3][0]/1024, 2);
  $memBuffers = round($buffers[1][0]/1024, 2);
    $memRealUsed = $memTotal-$memFree-$memCached-$memBuffers;
    return $memRealUsed;
}

系统负载:

function loadAvg() {
    $str = @file("/proc/loadavg");
    $str = explode(" ", implode("", $str));
    $str = array_chunk($str, 4);
    $loadAvg = implode(" ", $str[0]);
    return $loadAvg;
}

函数引用:(下面的函数放在网站想要显示的地方):

echo memTotal(); # 总共物理内存
echo memUsed(); # 包含缓存的内存使用
echo loadAvg(); # 系统负载

完整的示例:

函数引用需要修改主题的前台文件,比如你想放在哪?
放在网站底部那就修改WordPress主题的footer.php插入,然后上传覆盖.

<b>Mem: </b><u><?php echo memUsed();?>MB/64MB</u> <b>Load: </b><u><?php echo loadAvg();?></u>

注意:部分空间可能无法使用,可以改回去.


本文地址: https://www.wpyi.com/server-load.html