如何在 Laravel 中检查 RAM 和 CPU 使用情况

Laravel

在本教程中,我将介绍如何在 laravel 中检查 RAM 和 CPU 使用情况。在 PHP 中,内置函数可用于检查 CPU 和 RAM 的使用情况。很多时候,如果我们没有代码,我们需要检查服务器中的 RAM 和 CPU 消耗量,那么每次我们都需要手动检查。

所以,下面我提供在 laravel 中使用 RAM 和 CPU 的示例。你可以在 adminpanel 中获取 RAM 和 CPU 使用率的数据。

在 Laravel 中实现 CPU 和内存使用率

public function total_ram_cpu_usage()
{
        //RAM usage
        $free = shell_exec('free'); 
        $free = (string) trim($free);
        $free_arr = explode("\n", $free);
        $mem = explode(" ", $free_arr[1]);
        $mem = array_filter($mem);
        $mem = array_merge($mem);
        $usedmem = $mem[2];
        $usedmemInGB = number_format($usedmem / 1048576, 2) . ' GB';
        $memory1 = $mem[2] / $mem[1] * 100;
        $memory = round($memory1) . '%';
        $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);
        $totalram = number_format($mem / 1048576, 2) . ' GB';

        //cpu usage
        $cpu_load = sys_getloadavg(); 
        $load = $cpu_load[0] . '% / 100%';

        return view('details',compact('memory','totalram','usedmemInGB','load'));
}

*了解更多 : 如何检查 Laravel 中占用的磁盘空间*


创建 details.blade.php 并添加以下代码来查看结果。

<html>
<head>
  <link href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
  <div class="col-sm-6 col-md-3">
    <h2 class="no-margin text-semibold">Current RAM Usage</h2>
    <div class="progress progress-micro mb-10">
      <div class="progress-bar bg-indigo-400" style="width: {{$memory}}">
        <span class="sr-only">{{$memory}}</span>
      </div>
    </div>
    <span class="pull-right">{{$usedmemInGB}} / {{$totalram}} ({{$memory}})</span>  

  </div>

  <div class="col-sm-6 col-md-3">
    <h2 class="no-margin text-semibold">Current CPU Usage</h2>
    <div class="progress progress-micro mb-10">
      <div class="progress-bar bg-indigo-400" style="width: {{$load}}">
        <span class="sr-only">{{$load}}</span>
      </div>
    </div>
    <span class="pull-right">{{$load}}</span>   
  </div>

</body>
</html>
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://dev.to/techsolutionstuff/how-to-...

译文地址:https://learnku.com/laravel/t/63054

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4
chowjiawei
 $cpuInfo=explode(' ', trim(shell_exec("lscpu | grep 'CPU family' ")));
$memInfo=explode(' ', trim(shell_exec("cat /proc/meminfo | grep MemTotal")));
$cpu=$cpuInfo[count($cpuInfo)-1];
$mem=$memInfo[count($memInfo)-2] /1024/1024;

前几天也做了个~~也分享下

2年前 评论
李小明 1年前
chowjiawei (作者) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!