Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Как получить loadavg в FreeBSD
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
Как получить loadavg в FreeBSD [сообщение #79850]

Подскажите, как средствами PHP, получить текущую нагрузку сервера в FreeBSD ? Если можно с примером.

Стандартное чтение loadavg для Linux-а не проходит, так как нету 'cat /proc/loadavg'

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 12-12-2005 08:54
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Bochkarev_D.S.
Модератор
Средний рейтинг: 4.53 | Оценок: 17
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Oct 2001
Место проживания: Альметьевск, Татарстан
Публикаций: 480
Статус: Bochkarev_D.S. в оф-лайне
[сообщение #79852]

Jovani
sysctl -n vm.loadavg

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 12-12-2005 11:45
Нажмите сюда для просмотра профайла Bochkarev_D.S. Отправить Персональное сообщение Bochkarev_D.S. Найти сообщения от Bochkarev_D.S. Добавить Bochkarev_D.S. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
[сообщение #79857]

Bochkarev_D.S.
Пример можешь?

В линуксе, все прекрасно делается так:

code:

<?php
$loadavg_array = explode(" ", exec("/proc/loadavg"));
$loadavg = $loadavg_array[2];
print("Load: " . $loadavg . "%");
?>



$loadavg_array[2] - это средняя нагрузка за пять минут.
А в FreeBSD, аналогично как будет ?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 12-12-2005 14:52
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #79858]

не знаю как в FreeBSD, но стаким же успехом можно попробовать exec и команду которую указал Bochkarev_D.S.:
PHP:


exec
('sysctl -n vm.loadavg', $output);
print_r($output);

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 12-12-2005 15:26
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Bochkarev_D.S.
Модератор
Средний рейтинг: 4.53 | Оценок: 17
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Oct 2001
Место проживания: Альметьевск, Татарстан
Публикаций: 480
Статус: Bochkarev_D.S. в оф-лайне
[сообщение #79862]

пример мода global.php для отключки vb на freebsd при большой нагрузке


code:

if ($vbulletin->options['loadlimit'] > 0) 
{ 
    if ( is_readable('/proc/loadavg') ) 
    {//    if it's located on a Linux system: 
        $fh = @fopen( '/proc/loadavg', 'r' ); 
        $load_avg = @fread( $fh, 6 ); 
        @fclose( $fh ); 
        $loadavg = substr($load_avg, 0, strpos($load_avg, ' ')); 
    } 
    else 
    {//    if it's located on a FreeBSD system: 
        $load_avg = `sysctl -n vm.loadavg`; 
        $load_avg = str_replace('{ ', '', $load_avg); 
        $loadavg = substr($load_avg, 0, strpos($load_avg, ' ')); 
    } 
     
    if ($loadavg > $vbulletin->options['loadlimit']) 
    { 
        $servertoobusy = true; 
    } 
}  



Bochkarev_D.S. добавил 13-12-2005 в 07:01:22:
`` можно и не юзать

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 13-12-2005 06:56
Нажмите сюда для просмотра профайла Bochkarev_D.S. Отправить Персональное сообщение Bochkarev_D.S. Найти сообщения от Bochkarev_D.S. Добавить Bochkarev_D.S. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
[сообщение #79863]

Ни фига не получается
Нижеследующий код возвращает пустое значение $loadavg

PHP:


<?php
$load_avg 
= `sysctl -n vm.loadavg`;
$load_avg = str_replace('{ ', '', $load_avg);
$loadavg = substr($load_avg, 0, strpos($load_avg, ' '));
print(
"Load: " . $loadavg . "%");
?>

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 13-12-2005 09:18
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
[сообщение #79864]

Похоже, что нет доступа к sysctl

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 13-12-2005 11:36
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Bochkarev_D.S.
Модератор
Средний рейтинг: 4.53 | Оценок: 17
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Oct 2001
Место проживания: Альметьевск, Татарстан
Публикаций: 480
Статус: Bochkarev_D.S. в оф-лайне
[сообщение #79866]

Jovani как написал polo сделай

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 13-12-2005 14:57
Нажмите сюда для просмотра профайла Bochkarev_D.S. Отправить Персональное сообщение Bochkarev_D.S. Найти сообщения от Bochkarev_D.S. Добавить Bochkarev_D.S. в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
[сообщение #79868]

quote:
Первоначальное сообщение от Bochkarev_D.S.
Jovani как написал polo сделай

Если как у polo, выводтся:
Array ( )

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 13-12-2005 18:53
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #79869]

Проверь комманду в шелле сначало. Сначало надо убедиться что там работает.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 13-12-2005 20:13
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Jovani
Участник
Средний рейтинг: 4.5 | Оценок: 8
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2001
Место проживания: дома
Публикаций: 239
Статус: Jovani в оф-лайне
[сообщение #79872]

В том-то и дело, что шелла нет, хотел через PHP.
У знакомого стоит FreeBSD, он давал команду %sysctl -n vm.loadavg, нагрузку показывает.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 14-12-2005 00:52
Нажмите сюда для просмотра профайла Jovani Отправить Персональное сообщение Jovani Посетить домашнию страничку Jovani! Найти сообщения от Jovani Добавить Jovani в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #79982]

а exec срабатывает? может в php safe_mode включен.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 22-12-2005 23:33
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 21:05.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.14017892 seconds (95.08% PHP - 4.92% MySQL) with 21 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.