Foros del Web » Programando para Internet » PHP »

Acerca de: memory_get_usage

Estas en el tema de Acerca de: memory_get_usage en el foro de PHP en Foros del Web. Buenas tardes: Tengo un script tal que así (pongamos que se llama pagina.php ): Código PHP: <?php include( "../../comenzar.php" ); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="es" dir="ltr"> <head>     <TITLE></TITLE> ...
  #1 (permalink)  
Antiguo 04/06/2011, 10:32
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 9 meses
Puntos: 8
Acerca de: memory_get_usage

Buenas tardes:

Tengo un script tal que así (pongamos que se llama pagina.php):
Código PHP:
<?php
include("../../comenzar.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="es" dir="ltr">
<head>
    <TITLE></TITLE>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="keywords" content="">
    <meta name="description" content="">
    <meta name="abstract" content="">
    <link rel="stylesheet" media="screen" href="" type="text/css">
    <link rel="shortcut icon" href="" type="image/x-icon">
</head>
<body>
<?php
include("../../terminar.php");
?>
</body>
</html>
En comenzar.php cojo el valor que devuelve memory_get_usage al igual que en terminar.php, a mayores en terminar.php resto memoria inicial menos final.

Cuando ejecuto el script, para mi sorpresa, me da un resultado negativo, es decir, que el valor de la memoria al final es menor que al inicio.

Ahora bien si hago lo siguiente:
Código PHP:
<?php
$MemoriaAlInicio 
memory_get_usage();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="es" dir="ltr">
<head>
    <TITLE></TITLE>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="keywords" content="">
    <meta name="description" content="">
    <meta name="abstract" content="">
    <link rel="stylesheet" media="screen" href="" type="text/css">
    <link rel="shortcut icon" href="" type="image/x-icon">
</head>
<body>
<?php
$MemoriaAlFinal 
memory_get_usage();
?>
</body>
</html>
Ya me dan unos resultados más lógicos (memoria al final del script mayor que al inicio).

La conclusión a la que he llegado es que cuando recojo el valor de memory_get_usage dentro de los dos archivos php estoy obteniendo el consumo de memoria de dichos archivos (scripts) y no el consumo de memoria del script padre (pagina.php), o lo que es lo mismo, para saber el consumo total de memoria entiendo que tengo que sumar el valor que me devuelve memory_get_usage en comenzar.php, en terminar.php y en el script que llama a ambos (pagina.php).

¿Alguien me puede confirmar la conclusión a la que he llegado? De ser así, ¿hay alguna forma de saber el consumo de memoria de una forma global, sin necesidad de ir poniendo la función dentro de cada script que sea llamado por el script "padre" (pagina.php en este caso)?
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"
  #2 (permalink)  
Antiguo 04/06/2011, 13:58
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Acerca de: memory_get_usage

te recuerdo que PHP administra dinámicamente su memoria, luego de hacer un include se liberan los recursos para la lectura del archivo, así que no puedes obtener una lectura precisa de la memoria usada por un conjunto de acciones, es por ello que la memoria consumida se mide en un gráfico en función del tiempo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 06/06/2011, 11:39
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: Acerca de: memory_get_usage

maycolalvarez, entiendo por tu respuesta que medir el consumo de memoria de un script no es tan fácil como su símil con el tiempo de ejecución, hacer un microtime al principio y al final para ver el tiempo transcurrido.
__________________
http://www.controldegastos.com, acepto sugerencias para el sitio.
Repetir conmingo: "tengo que dedicar más tiempo a gozar de placer"

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:24.