La función memory_get_usage()
en PHP se utiliza para obtener la cantidad de memoria, en bytes, que está siendo utilizada por el script en ejecución. Esto es útil para monitorear y optimizar el rendimiento de aplicaciones PHP, especialmente en entornos donde los recursos de memoria son limitados.
memory_get_usage()
en PHP?
memory_get_usage()
es una función incorporada en PHP que devuelve el uso actual de memoria por el script. Esta función permite medir la memoria asignada, lo que es útil para detectar fugas de memoria o identificar operaciones que consumen demasiados recursos.
La función puede devolver el uso de memoria real asignado por el sistema operativo (que puede ser mayor que la memoria realmente utilizada por el script) o solo la memoria efectivamente utilizada.
memory_get_usage()
en PHP
Este ejemplo muestra cómo obtener la memoria utilizada por el script en el momento de la llamada a la función.
<?php
// Obtener el uso de memoria actual
$memoriaActual = memory_get_usage();
echo "Memoria utilizada: " . $memoriaActual . " bytes.\n";
?>
Puedes usar memory_get_usage()
para medir cómo cambian los recursos de memoria durante la ejecución del código.
<?php
// Obtener el uso de memoria antes de una operación
$antes = memory_get_usage();
$array = [];
for ($i = 0; $i < 10000; $i++) {
$array[] = md5($i);
}
// Obtener el uso de memoria después de la operación
$despues = memory_get_usage();
echo "Memoria utilizada antes: " . $antes . " bytes.\n";
echo "Memoria utilizada después: " . $despues . " bytes.\n";
echo "Diferencia: " . ($despues - $antes) . " bytes.\n";
?>
La función memory_get_usage()
tiene un parámetro opcional $real_usage
que, si se establece en true
, devuelve el uso real de memoria asignada por el sistema operativo, no solo la memoria utilizada por el script.
<?php
// Obtener la memoria utilizada
$memoria = memory_get_usage();
// Obtener la memoria real asignada por el sistema
$memoriaReal = memory_get_usage(true);
echo "Memoria utilizada: " . $memoria . " bytes.\n";
echo "Memoria real asignada: " . $memoriaReal . " bytes.\n";
?>
PHP establece un límite de memoria para scripts a través de memory_limit
. Puedes utilizar memory_get_usage()
para asegurarte de que tu script no se aproxime a ese límite.
<?php
// Mostrar el límite de memoria configurado en PHP
echo "Límite de memoria: " . ini_get('memory_limit') . "\n";
// Verificar el uso actual de memoria
echo "Memoria utilizada: " . memory_get_usage() . " bytes.\n";
?>
true
como argumento a memory_get_usage(true)
, puedes obtener la memoria real asignada por el sistema operativo, que puede ser mayor que la memoria efectiva utilizada por PHP.
Para más detalles, consulta la documentación oficial de PHP: Documentación de memory_get_usage()
Jorge García
Fullstack developer