In this tutorial I will give you how to check RAM and CPU usage in laravel. In PHP in-built function are available for checking CPU and RAM usage. Many time we require to check how much RAM and CPU usage of consumption in server if we have not code then we need to check manually every time.
So, here I will give you example of RAM and CPU usage in laravel. So, you can get data of RAM and CPU usage in your adminpanel.
Let's start to implement CPU and Memory usage in Laravel
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'));
}
And create details.blade.php and add below code for view.
<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>
You might also like :