Yes, the change was made in 24x7 version 3. Please upgrade. MemoryGetFree returns dwAvailPhys + dwAvailPageFile In version 2 it returns dwAvailVirtual. For details please see full description below The MemoryGetFree uses documented Windows API function GlobalMemoryStatus to obtain current memory availability. That API functions fills and returns data in the MEMORYSTATUS structure which contains information about system memory. Here is the definition of the structure typedef struct _MEMORYSTATUS { // mst DWORD dwLength; // sizeof(MEMORYSTATUS) DWORD dwMemoryLoad; // percent of memory in use DWORD dwTotalPhys; // bytes of physical memory DWORD dwAvailPhys; // free physical memory bytes DWORD dwTotalPageFile; // bytes of paging file DWORD dwAvailPageFile; // free bytes of paging file DWORD dwTotalVirtual; // user bytes of address space DWORD dwAvailVirtual; // free user bytes } MEMORYSTATUS, *LPMEMORYSTATUS; : Please refer to a conversation I had on this forum with SysOp almost exacly : one year ago. I pointed out that the value for MemoryGetFree was : incorrect. The last response from SysOp was on 16 May 2001 and it was as : follows: "It appears that the number is changing, but the value is : bogus on WinNT/200 systems. It supposed to be the valus for : "AVAILABLE FREE VIRTUAL MEMORY", I don't know where the heck, : Windows get that number over 1GB. I've added a change request to calculate : this memory as a sum of free physical + free page file space that looks : like a more reasonable number. This change should be made in the next : version". : This does not seem to be fixed. Can you comment? : Thanks : Greig
|