Как средствами php вывести загрузку ОЗУ?
138 сообщений
3562 сообщения
#15 лет назад
Неплохо бы указать хотя бы ОС сервера, не говоря уже о том как настроен ПХП =)
279 сообщений
#15 лет назад
Как-то так <?php if (current_user_can('level_10')){ ?>
<?php echo " Запросов: " . get_num_queries() . " | "; timer_stop(1). "секунд";
if ( function_exists('memory_get_usage') )
echo ' Потребление памяти: ' . round(memory_get_usage()/1024/1024, 2) . 'MB '; ?>
<?php }?>
или еще есть функция memory_get_peak_usage
ссылка которая показыват пиковую нагрузку за время выполнения скрипта
138 сообщений
#15 лет назад
SmartDesign, OC - win и линукс =)
_VersouL_,
ваш код выдает ошибку...
Fatal error: Call to undefined function current_user_can() in E:\VertrigoServ\www\test.php on line 1
578 сообщений
#15 лет назад
Между прочим на означенном вами сервере показана загрузка не того серва на котором стоит сайт, а того сервера на котором крутится серверная часть Lineage, а данные эти вычисляет и поставляет сама оболочка Линейки, что затем подхватывается ПХП и постится на сайт. а вы я так понимаю хотите замерить собственные нагрузочные парметры хостинг-серва.
138 сообщений
#15 лет назад
vladmax, ну сайт и серер на одном кампе

Цитата:
а вы я так понимаю хотите замерить собственные нагрузочные парметры хостинг-серва.
имено

263 сообщения
#15 лет назад
Сервера они, вообще-то, многозадачные, многопользовательские и даже многопоточные. Измерять нагрузку сервера и утилизацию памяти из пользовательского скрипта, конечно, можно, вопрос только в том, что именно будет померяно: загрузка сервера от Вашего процесса индексации или от процесса индексации запущенного "соседним" сайтом, а может быть и десятком соседних сайтов или от работы десятка фоновых процессов операционной системы. Если хочется померить потребление ресурсов именно Вашим процессом, то это надо смотреть подсистему sa, вызов acct, утилита sar (это все, конечно, применительно к linux).
578 сообщений
#15 лет назад
А пхп-функции запущенные для данного пользователя, не рута, и получат долю ресурсов конкретного юзера, от имени которого они запущены - общей инфы им никто не даст. \ Цитата ("kiril1989"):
имено интересно просто когда скрипт индексирует сайты как серв загружается)на самом деле это простите изврат. когда индексируется сайт - ну есть какая то пиковая нагрузка ну и что. все равно это простой http-трафик, ну у вас же не 10000 тсраниц на сайте - значит сделает к вам ПС 10 (100, 1000) запросов - и отвалит - никто и не заметит. даже на простых хостингах если пиковая нагрузка достигает 70-90% то хостер шлет уведомление. а у продвинутых хостеров, в особенности при исполльзовании dedicated или VDS - дык там есть в админке средства мониторинга и загрузки цп и памяти....
263 сообщения
#15 лет назад
Цитата ("vladmax"):А пхп-функции запущенные для данного пользователя, не рута, и получат долю ресурсов конкретного юзера, от имени которого они запущены - общей инфы им никто не даст. \
Это только по использованию памяти и только для данного процесса, не всех процессов данного пользователя, да и то сомнительно, чтобы оно память показывало с разбивкой на real и virt. Если Ваш процесс породил парочку подпроцессов, то эти функции все равно покажут объем памяти ведущего процесса без учета порожденных. Загрузка сервера всегда показывается как общая загрузка процессора всеми активными процессами - это, по определению, всегда интегральный показатель. Утилизация ресурсов для данного процесса - это подсистема sa. Общую информацию по всему серверу, обычно, не скрывают, она доступна любому пользователю и любому скрипту, например из сессии ssh можно выдать команды uptime и free и ознакомиться, из скрипта php можно выполнить те же uptime и free, перехватить STDOUT и показать результаты на странице Вашего сайта.
138 сообщений
#15 лет назад
vladmax, вы непоняли

578 сообщений
#15 лет назад
)) ну тогда сразу вам скажу - ставьте свою систему на VDS или dedicated - на нем у вас будут штатные средства контроля расхода ресурсов, предоставленные хостером.
1594 сообщения
#15 лет назад
Как вариант: написать CGI-приложение (на c++, котороебудет определять загрузку сервера), сохранить полученные данные в файл, а php-ом их уже читать
279 сообщений
#15 лет назад
Round(memory_get_usage()/1024/1024, 2) . 'MB '; вот так попробуйте
138 сообщений
#15 лет назад
_VersouL_,всеравно неработает пишет туже ошибку

<?php
if ( function_exists('memory_get_usage') )
echo round(memory_get_usage()/1024/1024, 2) . 'MB '; ?>
написал вот так оно мне пишет 0.07MB
279 сообщений
#15 лет назад
Kiril1989 ну а чем это отличается от того,что писал я? 
у меня
Round(memory_get_usage()/1024/1024, 2) . 'MB ';
у вас
round(memory_get_usage()/1024/1024, 2) . 'MB ';
разница только в заглавной букве,очевидно,что это была очепятка =)
эта функция показывает оперативку которую потребляет скрипт в момент ее вызова.а та которую я еще советовал показывает пиковое значение опретивки за время выполнения вашего скрипта. И что у вас не работает если пишет ведь 0.07 мб