@vista1x

Получить информацию о нагрузке системы?

Дано: сервер на Windows
Требуется: средвами PHP получить следующую информацию: использование CPU (в %), использование RAM (в %)

На текущий момент реализовано так:

# cpu
function getCpuUsage()
{
	exec("wmic cpu get loadpercentage 2>&1", $s);
	return isset($s[1]) ? $s[1] : 0;
}

# ram
function getRam($command)
{
	exec($command . " 2>&1", $s);
	return isset($s[1]) ? round(((int)$s[1])/1024/1024, 2) : 0;
}
function getRamFree()
{
	return getRam("wmic OS get FreePhysicalMemory 2>&1");
}
function getRamAll()
{
	return getRam("wmic OS get TotalVisibleMemorySize 2>&1");
}
function getRamUsage()
{
	$all = getRamAll();
	$free = getRamFree();
	$usage = $all - $free;
	return array(
		"free_gb" => $free,
		"usage_gb" => $usage,
		"usage_percent" => $usage * 100 / $all
	);
}


Но проблема в том, что всё это выполняется не так уж и быстро.
Есть ли другие способы получить нужную мне информацию за максимально короткое время?
  • Вопрос задан
  • 506 просмотров
Пригласить эксперта
Ответы на вопрос 2
swanrnd
@swanrnd
Издатель HTML5 игр
Напишите отдельную консольную программу на C++ и вызывайте ее через PHP.

Windows Server и PHP никогда не означали высокую производительность.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Проблема в том, что сам по себе wmic cpu get loadpercentage 2>&1 выполняется довольно долго. Нужно искать другой подход.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы