Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Количество выделенной памяти на работу скрипта
Форумы портала PHP.SU » PHP » Программирование на PHP » Количество выделенной памяти на работу скрипта

Страниц (1): [1]
 

1. StasHappy - 30 Сентября, 2015 - 18:17:21 - перейти к сообщению
Добрый день.

В интернете полно примеров, как измерить количество памяти, которое было выделено для одного php скрипта. Пример:

PHP:
скопировать код в буфер обмена
  1. $startMemory = memory_get_usage();
  2.  
  3. echo "УРА ТОВАРИЩИ";
  4.  
  5. echo (memory_get_usage() - $startMemory) . ' bytes';


Но как измерить не только память выделенную для скрипта, но также и размер памяти занимаемый самим интерпретатором PHP? Другими словами, как узнать реальное количество памяти, которое было затрачено ВСЕЙ СИСТЕМОЙ на работу одного скрипта?
2. DeepVarvar - 30 Сентября, 2015 - 22:26:36 - перейти к сообщению
Результат будет зависеть от:

а) битности системы;
б) модели данных (e.g.: ILP32, LP64, LLP64, ILP64);
в) с какими флагами и модулями собран php;
г) какие модули подгружены в рантайме в php;
д) в каком режиме работает php (cli/cgi/mod/fpm/is);
е) используются ли опкеши;
ж) какие зависимости есть у php (вне его ядра и его модулей) в виде разделяемых библиотек;
з) какие из разделяемых библиотек уже были загружены в оперативную память (для каждой используемой либы считается каждый раз полный размер либы в контексте процесса, хотя в оперативке всего одна копия либы);
и) какие из типов памяти выделены и используются (VIRT/RES/SHR/map);

Кароч мне надоело перечислять -- запусти пых в валгринде/гдб и посмотри.

 

Powered by ExBB FM 1.0 RC1