Ver Mensaje Individual
  #29 (permalink)  
Antiguo 27/02/2008, 15:32
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Re: Redimensionar imágenes

Cita:
28,311,552 Bytes que yo sepa es distinto de 34mb no?
Ok, ok, estas en lo correcto ... mis mediciones fueron las siguientes ...
(btw... en Linux Debian... )

... para medir la cantidad de memoria que esta usando un proceso
el único método que conozco y me da buen resultado es usar el comando
"ps aux" o "top -i".

Pero no estoy contando la cantidad de memoria que se usó específicamente
en los buffers de proceso de la librería GD en PHP. Estoy contando la cantidad
de memoria que usa Apache en su momento mas crítico. (PHP es cargado como
módulo, por lo tanto comparte la memoria de Apache). Hice un pequeño script
que ejecuta "top -i -d 0.5 > output" cada 0.5 segundos. El resultado en el archivo
"output" lo filtre con "grep apache2". (Descargue la página con wget 25 veces,
seguidas, eso crea 25 threads, corriendo al mismo tiempo. Lo cual no tiene
mucho sentido en mis pruebas, puesto que solo tengo 1 procesador dual core).

Por lo tanto .. la medida es lo más inexacta en el universo .. pero creo que
suficiente para saber cuanta memoria sería aconsejable poner en la línea de
configuración memory_limit.


Btw ... 8 bits = 1 byte, 1024 bytes = 1 kb, 1,048,576 bytes = 1 mb.

28,311,552 Bytes / 1,048,576 Bytes = 27 mb.

El resultado es exacto (de los resultados en top) por que Linux usa
la mayor cantidad de memoria disponible para cualquier proceso y
usa "alignment" al segmento más adecuado. En /proc tengo una
medición diferente a los 34 mb, cerca de 8 mb más, pero creo que
no es importante.

Apache .. sin correr el script PHP que mencionas ... usa 6 mb aprox.
27 mb + 6 mb = 33 mb. Aproximadamente la lectura que obtuve.

ps: Un dato interesante, es que PHP hizo "swap" al disco en un archivo
de intercambio temporal para el proceso de la imagen. (El tamaño del
archivo coincide exactamente con el tamaño de la imágen post-procesada)
me imagino que al mismo tiempo necesitas espacio en disco, suficiente
para el "temporal swap file". (No estoy hablando de la memoria virtual).

Hacer las mediciones en Windows es mucho más fácil y más exacto.
Pero... no uso Windows para eso :)

Saludos,

Última edición por HackmanC; 27/02/2008 a las 16:13 Razón: conceptos