> > > JTHZ Memory Info Utility < < < Another hit-utility by Hens Zimmerman & Julius Thyssen jthz@usa.net https://come.to/us https://jthz.cjb.net/ Easy way to hunt down memory-leaks! - Turns blue when situation becomes unstable (change in memory-usage) - Turns black when memory situation's stabilized - Marks and compares mem situations (try your right mouse-button!) "A must have!" (P.C.Journal) "... gives you memory-info in the blink of an eye, without using a lot of memory itself like those large monitor-software packs." (Online World) "Free?! Hey, these guys are great! This is what I needed!" (Power PC) "It rulez the world!" (Immosins ltd) Installation and use is almost self-explanatory: No setup. Put the executable in a folder you like it to be, and run it. Clicking on it with your right mouse-button will show you options. Now, you wonder what you can see with this thingy? Well, we make use of the memory-info Microsoft sends out to our polling, so how accurate it is depends on them really... THE READOUTS: Meter 1: A general idea of current memory utilization; 0% indicates no memory use and 100% indicates full memory use. Meter 2: What part of your physical memory (RAM) is in use; 100% means ALL physical memory is in use -> new memory requests will be emulated with disk-swapping after that stage. Meter 3: What part of (and we quote MS now:) "bytes that can be described in the user mode portion of the virtual address space of the calling process" is in use. Knowing that Meminfo.exe itself probably IS a or the calling process this meter could be very boguslike. Meter 4: The part of your swap-file that is in use. This is Version 1.0 and there are no known bugs or complications. We tested it on several different machines in more configurations. It requires Windows9* (we haven't tried it in Windows NT yet) Our thanks go out to Borland Forté Inc. Becky! Internet Mail Have fun with it! J.T. & H.Z. jthz@usa.net THE READOUTS IN DETAIL (Techies: go get a blanket! 8*) The GlobalMemoryStatus function retrieves information about current available memory. The function returns information about both physical and virtual memory. The MEMORYSTATUS structure contains information about current memory availability. The GlobalMemoryStatus function uses this 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; Members: dwLength Indicates the size of the structure. The calling process should set this member prior to calling GlobalMemoryStatus. dwMemoryLoad Specifies a number between 0 and 100 that gives a general idea of current memory utilization, in which 0 indicates no memory use and 100 indicates full memory use. dwTotalPhys Indicates the total number of bytes of physical memory. dwAvailPhys Indicates the number of bytes of physical memory available. dwTotalPageFile Indicates the total number of bytes that can be stored in the paging file. Note that this number does not represent the actual physical size of the paging file on disk. dwAvailPageFile Indicates the number of bytes available in the paging file. dwTotalVirtual Indicates the total number of bytes that can be described in the user mode portion of the virtual address space of the calling process. dwAvailVirtual Indicates the number of bytes of unreserved and uncommitted memory in the user mode portion of the virtual address space of the calling process.