On Sábado, 30 de Enero de 2010 18:06:02 Camaleón escribió:
El Sat, 30 Jan 2010 14:16:19 +0100, Rafa Grimán escribió:
On Saturday 30 January 2010 12:55:38 Camaleón wrote:
El problema es el siguiente: el otro día abrí un archivo en formato xml de unos 100 y pico megas el en Gedit y me dejó colgado ("seco", sin recursos, sin ram) el equipo¹. Al reiniciarlo, en el registro me encontré con un bonito mensaje "OOM-killer" (out of memory killer), supongo que para poder liberar memoria.
(...)
Lo importante (IMH) no es cómo crear un fichero grande sino, ¿cómo es que trabajáis con un fichero _XML_ de >100 MB?
Je, con los equipos que tenemos hoy en día, tampoco es un archivo "tan" grande :-)
¿no sería más fácil trabajar con ficheros más pequeños? ¿Menor consumo de recursos? ¿Mayor "rápidez" a la hora de acceder a un dato determinado de ese fichero? ... Me refiero a la hora de "parsearlo", la aplicación que lo haga tardará un "buebo" y consumirá memoria inútilmente (hay que cargar el fichero en memoria, ...).
En este caso, podríamos aplicar el dicho de "la curiosidad mató al gato".
El gato bien podría ser yo (o el equipo, que es el que "murió" al fin y al cabo) >:-)
No, no era un archivo nuestro con el que tuviera que trabajar, lo bajé de Internet para consultar unos datos (comprimido en zip son unos ~6,5 MiB).
Al ver que descomprimido era un poco gordo, pensé "mejor, así pongo a prueba al equipo, que para eso tiene 8 GiB d eram, 4 núcleos y un sistema de 64 bits...). Os podéis imaginar cómo se me quedo la cara al ver el cuelgue... "el tío la vara", parecía <|:-)
En cuanto a crear ficheros de texto grandes, puedes "strings"ear un fichero binario grande y mandar la salida a un fichero de texto. Obviamente, va a ser un fichero "inútil" en el sentido de información útil.
HTH
Rafa
PS: IMHO, es un bug de gedit o bien de gtk, si otras aplicaciones lo abren.
Sí, eso las es lo que creo. Fíjate que pensaba que el writer se quedaría tieso, pero qué va, como un tiro que lo abre y apenas aumenta el consumo de ram en ~300 MiB.
Tendré que crear un bugzillita...
Saludos,
El problema creo yo es que no está claro si gedit o kate por ejmplo usan mmap o la complejidad de las librerias empieza a comerse las ventajas de ese esquema... No recuerdo pero con mmap y unos 1-2GB de memoria , dependiendo del swap y del esatdo del overcommit de la VM se puede llegara a abrir fichero de 1Giga y pico. Yo he habierto cosas entre los 800 MB y el Giga. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org