[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 925
  • Last Modified:

Visual Foxpro (VFP) having a problem seeing more than 4GB physical memory?

We recently upgraded our Terminal Server running Windows Server 2003 Enterprise Edition that serves a Visual Foxpro 6 based application for our retail stores from 4GB to 8GB of memory.  We of course also had to use the /PAE switch in the Windows BOOT.INI file in order for Windows to address the full 8GB of memory.

Ironically, before the memory upgrade, Visual Foxpro would use nearly all 4GB of memory.  I remember even during peak times, sometimes the physical memory remaining would show maybe 100 megabytes or so (this not even including what it was using in the paging file).

However, since the upgrade, the free physical memory seems to hover around 5.9GB free out of 8 - as if VFP is only using maybe 2GB or less of the physical memory - and the paging file is showing 4+GB usage.  What's maybe eve a little more weird, it actually shows it's using 5GB of paging file - even though I set a MAX limit of 4092MB for the paging file (MIN-MAX) - and it's the only paging file specified.

I checked the paging drive - and sure enough, the file only shows to be 4GB.

What could be going on here?  Is there anything special I need to do to allow VFP to see the extra memory?  Or does it support PAE?

I've posted a link to a screenshot of what I'm seeing.  And this is with the server loaded with about 50 connections on Terminal Services and most all of those using the VFP program.

http://www.computerworksar.com/vfp-only-using-6gb.jpg

I've allowed 500 points because I'd like to figure this out soon obviously - and the complexity of the question.

Thanks.
0
kmruss
Asked:
kmruss
  • 7
  • 7
  • 4
2 Solutions
 
SysExpertCommented:
Not sure, but you need to
1) Ask the Vendor of foxpro

2) Test without PAE

I know that MS does not always recommend using this in all situations, since there are downsides apparently.

I hope this helps !
0
 
kmrussAuthor Commented:
Turning off PAE will only make the Operating System - and therefore VFP - see only the first 4GB - which won't help at all.

I do notice that when PAE is off, either VFP or the Crystal Reports they use for the reporting does seem to occasionally use up almost all of the 4GB.

Is there possibly a setting with the VFP app that can tell it to use MORE physical memory than it's using?  It wants to almost stick strictly to the Pagefile it seems - which isn't making the extra memory effective - and causing a huge bottleneck by it trying to page way too much information out.
0
 
CarlWarnerCommented:
4Gb of RAM is really the limit for 32-bit versions of Windows.  So, it is not so much a limitation of 32-bit Visual FoxPro as it is a limitation of the OS version VFP runs in.
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
CarlWarnerCommented:
RAM, Virtual Memory, Pagefile and all that stuff
http://support.microsoft.com/kb/555223/en-us

All processes (e.g. application executables) running under 32 bit Windows gets virtual memory addresses (a Virtual Address Space) going from 0 to 4,294,967,295 (2*32-1 = 4 GB), no matter how much RAM is actually installed on the computer.
0
 
kmrussAuthor Commented:
Carl,

Hmm, good article - thanks for the link.  So I wonder what this is saying?  Does that mean that NO app can use any memory that we installed that is BEYOND the 4GB memory barrier that we installed?  Or is it saying that only SPECIAL apps can use it?  What is the purpose of allowing systems to expand beyond 4GB then?  WHAT can actually use it in practicality?
0
 
kmrussAuthor Commented:
Btw, an even better version of the article is from the author who wrote it - which is also referenced in the KB article itself.  Microsoft leaves out a KEY point in it's copy of the article - and I don't like what I see here:

Quote from Bruce's website:  'The only way to actually increase the size of the virtual address space beyond 4 GB is by using 64 bit hardware with an operating system and application built for that hardware.  See 3. 64 Bit Processors and Address Spaces for additional information about 64 bit architectures.'

It looks like we may have to look at either upgrading our server to 64-bit if possible - or building/purchasing a new server.



0
 
SysExpertCommented:
Don't forget that your application also needs to be 64  bit !

0
 
CarlWarnerCommented:
While VFP will run under a 64-bit Windows version, it will still be a 32-bit app running in compatibility mode when it does run.
0
 
kmrussAuthor Commented:
Thanks for the tips guys.  Good point about the APP needing to be 64-bit.

Can you answer that question Carl?
'What is the purpose of allowing systems to expand beyond 4GB then?  WHAT can actually use it in practicality if the programs can't use that memory?  Does the system somehow take advantage of it leaving a little more ram for the programs?

Couple side questions if you know them:  would the /3GB switch help I wonder - to give more than the normal '2GB' to programs?  It seems there's some caution by some people on this.  And I wonder if the /3GB switch works with /PAE as well  (allowing all 8GB but still giving a little more memory - 3GB vs. 2GB to the programs).

And last question - Carl or anyone:  any idea if Microsoft has a 64-bit version of VFP in the works?  If so, how soon.  We sure could use it.

Please answer so I can award points guys.  Thanks for your responses.
0
 
CarlWarnerCommented:
I'm not sure what good the extra above 4Gb RAM would be, unless it is for some special application.

MS has told us they do not have a 64-bit version of VFP in the works and have explicitly said the 32-bit version will run on 64-bit Windows versions in compatibility mode, which is why I mentioned here before.  I too wasn't happy when I heard that back in March.
0
 
SysExpertCommented:
Actually you can run multiple applications and each one can get the 2-4 GB per application or even per instance.

So if you have a way of running more than one copy, you could make use of the RAM.

I hope this helps !
0
 
kmrussAuthor Commented:
Sys, not true.  Under normal circumstances, a single process is limited to 512mb (PER PROCESS).

I also found out some more distubring information - apparently the only way to support VFP using ANY ram above the 4GB would be for it to support the 'AWE' extensions API developed by Microsoft.  This allows a program to address memory above the normal 4GB barrier.  Nice of this to be so well documented.

Carl, any idea whether or not VFP has any kind of support, or is capable of supporting, AWE?

0
 
CarlWarnerCommented:
I am close to VFP and its oddities and have never ever heard of anyone with VFP with AWE.  Sorry.
0
 
SysExpertCommented:
All I know is what the IBM site says, and I know that multiple instances of Lotus Domino can be run on machines with > 4 Gb and the RAM utilized accordingly.

0
 
CarlWarnerCommented:
This is just for reference sake (I just read it and it is interesting if you have Fox on TS):

Citrix Hints
http://fox.wikis.com/wc.dll?Wiki~CitrixHints
0
 
kmrussAuthor Commented:
Thanks guys for all your reponses.  They've been very helpful.  I've learned the hard way unfortunately about this mostly un-talked about 4GB physical memory limit of 32-bit apps (excluding using AWE extensions etc.).  I'm splitting the points among you two since you both provided helpful information.

Carl, you say you don't think AWE is supported under VFP.  Any idea where I could find out for certain?  Can you ask a couple of your VFP buddies?  I tried Googling but couldn't find much of anything in the way of this.  Thanks.
0
 
CarlWarnerCommented:
I didn't say it wasn't supported.  I just said I had heard of anybody trying to use it or actually use it.  It just hasn't come up (until now).
0
 
kmrussAuthor Commented:
If you could, check around and let me know.  Thanks.
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

  • 7
  • 7
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now