ERROR NOT ENOUGH MEMORY FOR FILE MAP

1,478 views
Skip to first unread message

extremo

unread,
Jul 26, 2011, 10:58:06 AM7/26/11
to Comunidad de Visual Foxpro en Español
Hola foxeros

Desde hace dos dias que esta saliendo este mensaje en los PC: ERROR
NOT ENOUGH MEMORY FOR FILE MAP

Este error esta ocuriendo con cursores con mas de 200.000 registros ,
lo raro es que antes de esos dos dias, el programa trabajaba bien.
Tengo entendido que este error ocurre cuando un cursor supera los 2
gigas, pero 200.000 registros no es mucho, ademas antes lo hacia
bien.... que estara ocurriendo?

Trabajo con VFP7

Bendiciones

Luis Maria Guayan

unread,
Jul 26, 2011, 11:14:22 AM7/26/11
to publice...@googlegroups.com
Fijate la forma de la consulta, hacer un SELECT que te retorne 200000 registros a mi personalmente me parece que es demasiado.


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Marco Plaza

unread,
Jul 26, 2011, 11:20:58 AM7/26/11
to Comunidad de Visual Foxpro en Español
manda un sys(3050,1,0) te dirá cuanta memoria tienes para operaciones
en background y puedes aumentar el buffer en tu configuración si hace
falta... chequea la ayuda..

extremo

unread,
Jul 26, 2011, 11:23:35 AM7/26/11
to Comunidad de Visual Foxpro en Español
Gracias LuisMa

La verdad es que no es demaciado. Es una consulta que trae productos
que fueron movidos en bodega. Esta consulta que trae 200.000 registros
solo consulta movimientos realizados en una sola semana. Esta consulta
la revisa un gerente que ve los movimientos a nivel nacional. Como
explicaba antes funcionaba sin problemas pero desde hace dos dias esta
dando problemas. La tabla esta en sqlServer y tiene 20.000.000 de
registros aprox. estos registros son de los ultimos 3 años ya que el
resto esta en base historica.

Bendiciones

On 26 jul, 11:14, Luis Maria Guayan <luismar...@gmail.com> wrote:
> Fijate la forma de la consulta, hacer un SELECT que te retorne 200000 registros a mi personalmente me parece que es demasiado.
>
> Luis María Guayán
> Tucumán, Argentina
> _________________________http://www.PortalFox.com

extremo

unread,
Jul 26, 2011, 11:24:43 AM7/26/11
to Comunidad de Visual Foxpro en Español
gracias Marco,

Probare eso que me dices

Bendiciones
> > El 26/07/2011 11:58, extremo escribió:Hola foxeros Desde hace dos dias que esta saliendo este mensaje en los PC: ERROR NOT ENOUGH MEMORY FOR FILE MAP Este error esta ocuriendo con cursores con mas de 200.000 registros , lo raro es que antes de esos dos dias, el programa trabajaba bien. Tengo entendido que este error ocurre cuando un cursor supera los 2 gigas, pero 200.000 registros no es mucho, ademas antes lo hacia bien.... que estara ocurriendo? Trabajo con VFP7 Bendiciones- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Marco Plaza

unread,
Jul 26, 2011, 11:30:41 AM7/26/11
to Comunidad de Visual Foxpro en Español

Ah también puedes probar mandar un sys(1104) antes de la ejecución de
la instrucción que te da problemas para obligar a limpiar todo el
caché.

Saludos.

extremo

unread,
Jul 26, 2011, 11:35:13 AM7/26/11
to Comunidad de Visual Foxpro en Español
marco en primer plano tengo 1465647104
y en segundo plano tengo 366477312

supongo que es mas que suficiente para 200.000 registros
tengo el sys(1104)

Bendiciones

Yvan GMAIL

unread,
Jul 26, 2011, 11:41:07 AM7/26/11
to publice...@googlegroups.com
A mi parecer no tiene sentido retornar 200,000 registros y que el gerente
revise uno x uno.. me imagino que en base a eso 200,000 se generara un
resumen.. pero en vez de generar esos 200,000..pq no retornas el resumen.


Saludos.
Yvan Carranza

-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de extremo
Enviado el: Martes, 26 de Julio de 2011 10:24 a.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: ERROR NOT ENOUGH MEMORY FOR FILE MAP

Irlandes 1960

unread,
Jul 26, 2011, 11:56:04 AM7/26/11
to publice...@googlegroups.com
¡Pobre gerente!, tener que arrancar los lunes revisando 200.000 movimientos ...
no hay sueldo que lo pague

extremo

unread,
Jul 26, 2011, 11:53:43 AM7/26/11
to Comunidad de Visual Foxpro en Español
Yvan

Aunque no lo creas, esto funciona desde hace años y el gerente se da
el trabajo de revisar esos 200.000 registros y aveces mucho mas de
eso, lo hace todo el tiempo. No solo el gerente sino que muchos hacen
lo mismo sobre todo en farmacia cuando los quimicos revisan los
moviminetos de medicamentos controlados, aveces hacen consultas de
hasta 400.000 registros y revisan linea por linea, es una practica
habitual en la empresa. Pero por alguna razon ahora me esta dando este
error.

Bendiciones

extremo

unread,
Jul 26, 2011, 12:01:07 PM7/26/11
to Comunidad de Visual Foxpro en Español
Se estan yendo por otro lado. Nadie sabe que puede estar pasando?.....
esta empresa siempre ha trabajado asi. Es una de las empresas mas
grandes de Chile y el movimiento es enorme por eso esa cantidad de
registros no es tanto y estan acostumbrados a trabajar con ese volumen
de informacion, pero mi problema es que de un dia para otro me esta
apareciendo este error y los usuarios se estan quejando porque no
pueden revisar los datos.

PD. Si me pagaran lo que le pagan a ese gerente por revisar 200.000
registros, yo lo haria feliz. Ese pobre gerente tiene un porche y un
audi.

Bendiciones

Yvan GMAIL

unread,
Jul 26, 2011, 12:02:14 PM7/26/11
to publice...@googlegroups.com
Extremo,
¿Esto falla solo es una Pc, o en todas las Pcs?.. No vaya a ser que justo tu
RAM tenga problemas.. ¿generas un into cursor o un into dbf?.. si esta por
curso, generate un dbf temporal para descarte.

Saludos.
Yvan Carranza


-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de extremo

Enviado el: Martes, 26 de Julio de 2011 10:54 a.m.

Hugo C.

unread,
Jul 26, 2011, 12:02:31 PM7/26/11
to Comunidad de Visual Foxpro en Español
intenta limpiando memoria cache y buffers antes
del SELECT con estas intrucciones.

SYS(3050, 1, 512*1024*1024)
SYS(3050, 2, 512*1024*1024)

http://www.berezniker.com/content/pages/visual-foxpro/not-enough-memory-file-map-error-1150

Saludos.

Walter R. Ojeda Valiente

unread,
Jul 26, 2011, 12:23:51 PM7/26/11
to publice...@googlegroups.com
Retornar 200.000 registros en una consulta es un gran error de concepto.

¿Cuántos años deberían transcurrir para que alguien los revisara uno por uno?

En general, si muestras más de 100 hay algo malo en tu lógica. Quizás alguna vez, muy pero muy esporádicamente, podrías necesitar mostrar unos 200, pero más de eso ya refleja un error conceptual.

Debes acotar la consulta para que solamente te devuelva un máximo de 100 registros. Luego, si se necesitan más, puedes mostrarles los 100 siguientes y así sucesivamente. Pero 200.000 de una sola vez no tiene sentido.

Saludos.

Walter.



> Date: Tue, 26 Jul 2011 08:35:13 -0700
> Subject: [vfp] Re: ERROR NOT ENOUGH MEMORY FOR FILE MAP
> From: protech...@gmail.com
> To: publice...@googlegroups.com

Miguel Canchas

unread,
Jul 26, 2011, 12:27:42 PM7/26/11
to publice...@googlegroups.com
1.- Y lo probaste directamente en el servidor ?? deberías probar por ahí.

2.- Podrias jalar la info de manera escalonada o por partes...


MK

-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de extremo

Enviado el: martes, 26 de julio de 2011 11:01 a.m.


Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: ERROR NOT ENOUGH MEMORY FOR FILE MAP

Se estan yendo por otro lado. Nadie sabe que puede estar pasando?.....

extremo

unread,
Jul 26, 2011, 12:35:24 PM7/26/11
to Comunidad de Visual Foxpro en Español
les dire como se trabaja aca

Se hacen consultas pesadas y se envian los resultados a DBF, despues
ellos manejan los dbf a su manera y van revisando todo aveces
exportando partes a excel y asi, cada quien trabaja como el quiere,
pero en general traen todo altiro y durante la semana van revisando
los datos de meses anteriores.

El retornar 200.000 registros no es un error. todo depende de quien
los baje y para que.

En fin gracias por sus respuestas pero no me sirven las respuestas
sobre bajar la cantidad de registros, vuelvo a repetir, esto lleva
años trabajando asi y de un dia para otro comenzaron los problemas.

Bendiciones
> > no hay sueldo que lo pague- Ocultar texto de la cita -

Marco Plaza

unread,
Jul 26, 2011, 1:28:09 PM7/26/11
to Comunidad de Visual Foxpro en Español

Por lo que dice el link que menciona Hugo, y el resultado que te da la
consulta de memoria, es verdad puede haber un problema de mapeo.. Tal
vez limitando la cantidad de memoria disponible como te dice a 512mb
resuelva.. No me ha tocado pero se me ocurre que puedes probar depurar
la bajada de los datos consulta haciendola en forma asincrona y
monitorear el progreso y la memoria a medida que vfp trabaja.. si te
sirvió nos avisas..

PD: a los que dicen que 200.000 registros son muchos.. que pa que,
bueno si no podemos responder como traer 200.000 registros sin
problemas creo que debemos ver que pasa, total mañana nos puede tocar
hacerlo por cualquier motivo, entonces se acordarán del pobre extremo
que sufrió para descubrir la falla! je je..

Saludos..




On Jul 26, 12:27 pm, "Miguel Canchas" <mcanc...@ximesa.com> wrote:
> 1.- Y lo probaste directamente en el servidor ?? deberías probar por ahí.
>
> 2.- Podrias jalar la info de manera escalonada o por partes...
>
> MK
>
> -----Mensaje original-----De:publice...@googlegroups.com[mailto:publice...@googlegroups.com]En nombre de extremo

Marco Plaza

unread,
Jul 26, 2011, 1:57:47 PM7/26/11
to Comunidad de Visual Foxpro en Español
Ahora si dices que lleva años trabajando así entonces revisa si la
estructura de la bd ( no sea que han metido algun campo nuevo muy
gande ) especifica los campos a traer sin usar *, y ve aumentando el
numero de campos recuperados.. Prueba arrancar en modo a prueba de
fallos con soporte de red a ver, y desactiva el antivirus.

Alguna otra idea?

extremo

unread,
Jul 26, 2011, 2:37:01 PM7/26/11
to Comunidad de Visual Foxpro en Español
Gracias Marco

Revisare tus sugerencias. cualquier novedad la dire.

Bendiciones
> > > - Mostrar texto de la cita -- Ocultar texto de la cita -

Carlos Miguel FARIAS

unread,
Jul 26, 2011, 5:26:44 PM7/26/11
to publice...@googlegroups.com
No confundir, el tamaño maximo de un archivo son 2 gigabytes de almacenamiento.
Eso permite un maximo de 1 giga de registros con un campo de 1 byte (el otro se lo lleva la marca de borrado).
Si tengo 200.000 registros con 10000 bytes, llego a los dos giga y fuiste.

extremo

unread,
Jul 27, 2011, 9:11:55 AM7/27/11
to Comunidad de Visual Foxpro en Español
Me parece que tienes razon Marco

A la tabla se le agrego 2 campos de tipo text (memo en fox y asi es
interpretado al traer la consulta desde sqlSever). Puede que sea eso
lo que influyo en el peso de los 200.000 registros, por el momento
tuve que solucionar el problema de error aumentando el control de
costos con SET GOVERNOR de sqlServer en los formularios que me estan
dando problemas

Gracias tambien Carlos.

Bendiciones




On 26 jul, 17:26, Carlos Miguel FARIAS <carlosmiguelfar...@gmail.com>
wrote:
> No confundir, el tamaño maximo de un archivo son 2 gigabytes de
> almacenamiento.
> Eso permite un maximo de 1 giga de registros con un campo de 1 byte (el otro
> se lo lleva la marca de borrado).
> Si tengo 200.000 registros con 10000 bytes, llego a los dos giga y fuiste.
>

Marco Plaza

unread,
Jul 27, 2011, 1:12:26 PM7/27/11
to Comunidad de Visual Foxpro en Español
Ok que bueno que lo solventaste.. aunque por lo que entendí de set
governor es para evitar que las consultas consuman mas recursos y
tiempo de los que le indicas y si se pasa simplemente la cancela?
después me explicas como te ayuda en tu caso..

Saludos
Marco
> > > > > > -----Mensaje original----->De:publice...@googlegroups.com> > [mailto:publice...@googlegroups.com­]Ennombre de extremo

extremo

unread,
Jul 27, 2011, 2:33:06 PM7/27/11
to Comunidad de Visual Foxpro en Español
Asi es Marcos

Controla el consumo de recusrsos del servidor, si consume mas de lo
establecido, el progrma en VFP envia un mensaje para que el usuario
acote mas la consulta que esta realizando. No es una solucion pero me
saca del problema de caida del programa.

Bendiciones

Daniel Sánchez

unread,
Jul 28, 2011, 12:19:38 AM7/28/11
to publice...@googlegroups.com
Yo creo que escandalizarse por traer 200,000 registro o más no tiene mucho sentido si no google no podría hacer lo siguiente

image.png

Si te fijas San Google ubica mas de 4 millones, si millones de registros producto de la búsqueda solicitada, además si ahora se fijan tu vas digitando y te va dando al vuelo las coincidencias, y de una manera muy pero muy rápida, por decir ellos no se preocupan cuantos datos puedan coincidir o devolver una consulta, si no como optimizar para dar con los datos de la manera más rápida posible.

Bueno aunque esto no absuelve tu respuesta nos hace ver como están encaminándose las necesidades de obtener información.

Saludos

--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú
image.png

Richard Gaviria

unread,
Jul 28, 2011, 12:26:26 AM7/28/11
to publice...@googlegroups.com
Mucho cuidado porque eso solo es un resultado de la cantidad de registros, esa es una consulta asíncrona y solo te retornan los registros de 10 en 10, no confundas con traer a la vez los 4,700,000

Saludos.

Rick.



Date: Wed, 27 Jul 2011 23:19:38 -0500
Subject: Re: [vfp] Re: ERROR NOT ENOUGH MEMORY FOR FILE MAP
From: resets...@gmail.com
To: publice...@googlegroups.com
image.png

Daniel Sánchez

unread,
Jul 28, 2011, 12:33:26 AM7/28/11
to publice...@googlegroups.com
Claro que no los trae pero ya las ubico, ademas como comentas de manera asincrona pueden ir llegando los datos, y como no todos los vas ha ver de un solo golpe, podrías indicar que cada grupo bajen de por decir de Mil en Mil, no te darías cuenta como van llegando. Porque en tu cursor mediante un browse ya lo puedes ir viendo.

Richard Gaviria

unread,
Jul 28, 2011, 12:36:27 AM7/28/11
to publice...@googlegroups.com
Cuando es programación Web, no es igual que en Cliente Servidor, en programación Web se van creando los enlaces cuando van llegando de la consulta, pero no se almacenan en ningun cursor, solo se van creando los enlaces mediante un while.

Saludos.

Rick.



Date: Wed, 27 Jul 2011 23:33:26 -0500
Subject: Re: [vfp] Re: ERROR NOT ENOUGH MEMORY FOR FILE MAP
From: resets...@gmail.com
To: publice...@googlegroups.com

Carlos Miguel FARIAS

unread,
Jul 28, 2011, 7:18:16 AM7/28/11
to publice...@googlegroups.com
Que google te responda cuantos elementos tiene para mostrarte es porque atras tiene mas servidores multinucleo que integrantes de este foro para responder a lo que solicitas.
Además tienen un algoritmo de indexación de palabras (tipo full text, o archivo invertido) que tiene un algoritmo propio.
O sea que en realidad, no te recupera datos de las bases, solo lo que le indican los indices.
Es una especie de rushmore pero mas sofisticado y con una ferreteria de soporte infernal.
Creo que google mueve 5 petabytes cada 72 horas ( o algo asi) y eso no lo haces poniendo y sacando disquetes de una 286

Walter R. Ojeda Valiente

unread,
Jul 28, 2011, 9:46:57 AM7/28/11
to publice...@googlegroups.com
Daniel, realmente me extraña muchísimo que *tú* hayas escrito algo así, aún no lo entiendo, quizás se deba a que acabo de despertarme y seguramente estoy un poco dormido porque continúo totalmente sorprendido.

Lo que el dios Google te dice es que ENCONTRÓ unos 4.470.000 resultados pero NO LOS DESCARGÓ a todos ellos en tu computadora, solamente descargó unos poquísimos, normalmente 10. Y eso sí es razonable y de eso es justamente de lo que yo he estado hablando. Si quieres ver más resultados entonces tienes que presionar el botón siguiente y eso ... ES JUSTAMENTE LO QUE YO DIGO.

¿Cuál es la cantidad predeterminada de resultados de Google?

10

¿Cuál es la cantidad máxima de resultados que te puede mostrar?

100

¿Cuál es la cantidad máxima que yo digo que deberían descargarse, salvo casos excepcionales en que podría ser un poco más?

100

¿Qué es lo que digo que debería hacerse para ver más filas?

Presionar el botón "Siguiente"

Exactamente como lo hace el gran dios Google.

Me voy a desayunar, ya tengo mucha hambre, luego continuaré leyendo e-mails, me faltan 19 por leer, podría encontrarme con alguna otra sorpresa.

Saludos.

Walter.





Date: Wed, 27 Jul 2011 23:19:38 -0500
Subject: Re: [vfp] Re: ERROR NOT ENOUGH MEMORY FOR FILE MAP
From: resets...@gmail.com
To: publice...@googlegroups.com
image.png
Reply all
Reply to author
Forward
0 new messages