Manejo de Memoria Dinámica Real

Hola experto davsoft!
Te mando un saludo...
¿Cómo has estado?
De nuevo requiero de ayuda profesional.
Tengo que hacer una aplicación la cuál asigne más memoria ram a la aplicación de VFP,
estuve investigando, me tope con el administrador de memoria o memoria dinámica que fox
trae, pero a lo que entendí, el administrador solo (valga la redundancia), administra
la memoria que el S.O. Le asigna a fox, para sus controles, procedimientos, etc..
Si estoy mal corrígeme por favor.
Lo que quiero es hacer que fox tenga la memoria que quiera.
Por ejemplo :
Si mi maquina tiene 2GB de Ram, y el S.O. Le asigna a la aplicación de fox 256MB de ram,
al sistemale quedan 1.75GB de Ram (1GB + 3/4 de GB), esto le deja al administrador de memoria
que fox trae, solo 256MB para manejar, yo quiero cambiar ese número.
Quiero asignarle a la aplicación de Fox 512MB de ram y dejar al S.O. Con 1.5GB. Y si después se
me antoja cambiarlo de nuevo, en lugar de 512MB que sea 756MB, 844MB, 1GB, o más (obvio mientras
no le quite memoria para que el S.O. Deje de funcionar).
¿Si se puede? ¿Cómo?
Te agradezco toda la ayuda posible.

1 respuesta

Respuesta
1
Con respecto a tu visión sobre el administrador de memoria dinámica de fox tienes total razón, es exactamente así como lo describes, lo que pasa es que windows asigna automáticamente la memoria necesaria a las aplicaciones, si fox necesita más memoria se lo pedirá al S.O y este le tendrá que proveer, es decir en windows prácticamente no existe (HASTA DONDE YO SE) forma de asignarle memoria a las aplicaciones, pero hay aplicaciones en las que puedes reservarle la cantidad de memoria como PHOTOSHOP, MYSQL etc, en fox no hay muchas documentaciones sobre la administración de memoria, por ejemplo la función sys(1001) que los primeros tiempos fue indocumentada te devolverá la memoria para fox, y generalmente es 4 veces más a la memoria física, es decir, el S.O le asigna una buena cantidad, pero como te dije esto es variable, porque gran cantidad de esta memoria es virtual, o sea, estará paginado directamente en el disco, yo nunca necesite de esto, pero si hacer pruebas te puedo recomendar lo siguiente.
La funcion sys(3050)
SYS(3050) le permite optimizar el rendimiento de Visual FoxPro al ajustar la cantidad de memoria que Visual FoxPro asigna para los búferes de primer plano y de fondo. El búfer de memoria de primer plano es la memoria disponible para Visual FoxPro cuando está funcionando en primer plano como la aplicación activa. El búfer de memoria de segundo plano es la memoria disponible para Visual FoxPro cuando está funcionando en segundo plano y otra aplicación está ejecutándose en primer plano.
Con esto puedes "robarte" la memoria que quieras según la documentación de MSDN (es lo que dice) que te transcribí en el párrafo anterior, te reitero que nunca hice pruebas, inclusive las documentaciones sobre el funcionamiento interno no son divulgados por Microsoft según un acuerdo de no divulgación (NDA).
Es una cuestión de leer un poco más de sys(3050) y hacer las pruebas y luego lo comentas a la comunidad.
Hola, si me es de utilidad, también había visto el SYS(3050), pero yo tenía la esperanza de que existiera otros métodos, ya que de sys(3050) no busque mucha información. Ahora no tengo dudas, me tengo que volver experto en sys(3050) para sacar el problemita. Y el resultado te lo enviare a tu correo, si tengo éxito. Sólo envíame un correo a mi correo(valga la redundancia) para saber cual es el tuyo. Hasta luego.  [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas