Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: PHP, ОЗУ, Нагрузка, Die
 
 автор: pavluxa09   (17.07.2009 в 09:34)   письмо автору
 
 

Здравствуйте. Тестирую свой скрипт на Denwer. Через диспечер задач Windows смотрю сколько он ест ОЗУ и вижу, как только я перехожу на какуюто струницу он ест на 100 кил больше. Какая функция в PHP может после того как пользователь открыл страницу освободить память потраченую на открытие в ОЗУ?

  Ответить  
 
 автор: Marek   (17.07.2009 в 10:38)
 
   для: pavluxa09   (17.07.2009 в 09:34)
 

ну ты наверное насоздавал переменных в скриптах дохера которые после выполнения просто болтаются в ОЗУ. unset() удаление не нужных переменных

  Ответить  
 
 автор: pavluxa09   (17.07.2009 в 10:44)   письмо автору
 
   для: Marek   (17.07.2009 в 10:38)
 

А как можно сразу все удалить?

  Ответить  
 
 автор: sim5   (17.07.2009 в 10:52)   письмо автору
 
   для: pavluxa09   (17.07.2009 в 10:44)
 

Выключить компьютер :)

  Ответить  
 
 автор: Trianon   (17.07.2009 в 10:57)   письмо автору
 
   для: sim5   (17.07.2009 в 10:52)
 

и выдерните модули ОЗУ. :)

  Ответить  
 
 автор: pavluxa09   (17.07.2009 в 10:59)   письмо автору
 
   для: Trianon   (17.07.2009 в 10:57)
 

Очень смешно. А реально?

  Ответить  
 
 автор: Trianon   (17.07.2009 в 13:33)   письмо автору
 
   для: pavluxa09   (17.07.2009 в 10:59)
 

А реально - после выполнения скрипта (то есть в момент окончания выдачи страницы браузеру) память окажется освобожденной.

  Ответить  
 
 автор: sim5   (17.07.2009 в 10:59)   письмо автору
 
   для: Trianon   (17.07.2009 в 10:57)
 

Для полной очистки? :)

  Ответить  
 
 автор: pavluxa09   (17.07.2009 в 11:03)   письмо автору
 
   для: sim5   (17.07.2009 в 10:59)
 

Да полностью очистить все переменные как?

  Ответить  
 
 автор: sim5   (17.07.2009 в 11:12)   письмо автору
 
   для: pavluxa09   (17.07.2009 в 10:44)
 

Ладно, смех смехом....
Windows работает по принципу вытесняющей многозадачности в области касаемой распределения памяти. Другими словами, вы запускаете приложение и под него выделяется затребованная память. Если вы запустите другое приложение, то первое системой будет считаться неактивным, и его память может быть сброшена на диск, в файл подкачки, а высвобожденные таким образом ресурсы отданы второму приложению.
При запросе РНР страницы, интерпритатор отработает код ваш и помрет вместе со всеми переменными, а память у клиента (в Windows) будут занимать уже не РНР-переменные, а браузер с загруженной в него страницей.
Но это не значит, что вы должны безалаберно расходовать ресурсы компьютера сервера - если будет нехватка памяти при выполнении ваших задач, то работа вашего скрипта может быть просто прервана.
В РНР нет обязанности объявления типов переменных, а так же отводимой под них размер памяти. Но вы должны следить за этим, например, открытие дескрипторов всегда должно завершаться их закрытием, это относится к таким прожорливым к памяти дескрипторам как изображения. Если таковых наплодить во время работы вашего скрипта, то это займет большой размер памяти, что чревато плохими последствиями.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования