AzuraCast/src/Service/MemoryStats.php

28 lines
563 B
PHP

<?php
declare(strict_types=1);
namespace App\Service;
use App\Service\MemoryStats\MemoryData;
class MemoryStats
{
public static function getMemoryUsage(): MemoryData
{
$meminfoRaw = file('/proc/meminfo', FILE_IGNORE_NEW_LINES) ?: [];
$meminfo = [];
foreach ($meminfoRaw as $line) {
if (!str_contains($line, ':')) {
continue;
}
[$key, $val] = explode(':', $line);
$meminfo[$key] = trim($val);
}
return MemoryData::fromMeminfo($meminfo);
}
}