¿Cómo conocer el uso de memoria que consume un script PHP?

2

El siguiente tutorial muestra cómo imprimir y/o conocer la cantidad de memoria que consume un script de PHP para ejecutarse. Para lograr el ejemplo se hace que en un bucle ejecute una tarea medianamente pesada. Según esta ejecución se puede ver que uso de memoria hacía inicialmente el script y que uso de memoria hace luego ejecutar el bucle.

Lo primero que se debe hacer es crear un archivo, al cual en este caso se le ha llamado memory.php y luego se le agregan las etiquetas de bloque de PHP.

<?php

?>

Entre estas etiquetas se agrega la función echo que permitirá imprimir en el navegador el mensaje con la memoria usada hasta el momento. La función que permite conocer este dato se llama memory_get_usage. Se debe notar que el valor devuelto por dicha función será bastante bajo, ya que se está realizando el llamado a la función memory_get_usage prácticamente al inicio del script.

<?php

echo 'Memoria inicial: ' . memory_get_usage() . '
';

?>

Luego de este se realiza una tarea que hará aumentar significativamente el uso de la memoria. Primero se declara e inicializa un arreglo $arr. Luego un bucle FOR que se ejecute un millón de veces y en cada ejecución agregue al arreglo el valor MD5 del valor en ese instante de la variable contadora $i definida para el bucle. Eso hará que se generen un millón de espacios de memoria dentro del arreglo aumentando consigo el uso de la memoria.

<?php

echo 'Memoria inicial: ' . memory_get_usage() . '
';

$arr = array();

for( $i = 0 ; $i < 1000000 ; $i++ )
{
    $arr[] = md5($i);
}

?>

Luego de eso se agrega una última línea de código la cual permitirá conocer el valor final del uso de la memoria

<?php

echo 'Memoria inicial: ' . memory_get_usage() . '
';

$arr = array();

for( $i = 0 ; $i < 1000000 ; $i++ )
{
    $arr[] = md5($i);
}

echo 'Memoria final: ' . memory_get_usage() . '
';

?>

Por último, se debe abrir este script PHP en un navegador para poder ver los resultados.

Comparte este post.
Artículos Recomendados Para Tí:

2 Comments