MemSize

Description
Also known as "System Resources"

This program provides a digital clock (with date), the elapsed time since your system's last restart, the amount of free virtual memory, the current swap-file size, the maximum amount the swap-file can still grow, the current CPU load (%), the number of active tasks and the amount of disk space free on each of your hard disks. Each figure is updated once per second, or at whatever interval from one to thirty seconds that you wish. Removable disk drives (including CDs) are not supported at this time.

If you'd like to see the program translated into another language, feel free to make your own version of ENGLISH.DOC, ENGLISH.CMD, ENGLISH.RC and ENGLISH.IPF.

Installation on OS/2
Run the installation file ENGLISH.CMD. It will ask you where you want the program stored and whether you want it to be placed in the startup folder. The job will create a program object and place it either on the desktop or in the system startup folder. This object will have all its attributes set up correctly for running the program.

Installation for Win32 platforms
This version of the program is -far- from complete, but a simple version of the SNAPSHOT utility does work. No automated installation is provided, however, so you will need to do the following:

COPY OBJECTS.W32\ENGLISH.DLL MEMSIZEW.DLL SNPSHOTW

History
1.00 - Submitted to Compuserve's OS/2 Forum, early January, 1992.

1.01 - Added single-line border. Removed default TaskList processing, added custom logic.

1.10 - Added ability to hide controls. Added ability to be moved with the mouse, independent of title bar. Added help facility. Removed 'exit' option from system menu (Alt+F4 or F3 does fine). Now searches CONFIG.SYS to find SWAPPATH. Responds to WM_PRESPARAMCHANGED messages, allowing OS/2 2.0's          font, color and color scheme palettes to work with it properly. Added CPU load indicator. Added ability to select which items are to be monitored. Added ability to reset presentation parameters to default state.

1.20 - Restructured program to make status items easier to add. Changed 'Swap-disk free space' to 'Available swap space'. Added disk drive free space items. Optimized window refresh logic. Corrected minor bugs in handling font changes.

1.21 - Fixed bug in computing swap-file size.

1.22 - Fixed bug in computing available swapping space.

1.23 - Fixed bugs in initial sizing and location of CONFIG.SYS.

1.24 - Fixed underflow error in computing CPU load.

1.25 - Fixed bug with determining swap-drive.

1.26 - Switched from using COMSPEC to SYSTEM_INI when trying to determine the boot drive in order to find CONFIG.SYS. There have been users with alternative command-line interpreters altering COMSPEC to point to a different disk drive. Something more reliable was needed. This is still not a perfect solution.

1.27 - Fixed problem with initial positioning under OS/2 1.x.        If SYSTEM_INI cannot be found, look for COMSPEC instead. If that cannot be found, assume the boot drive to be current drive.

1.28 - Fixed problem where title bar and system menu were not being initialized correctly when the program started up with the controls hidden.

1.29 - Now skips removable drives during setup. Now uses the Global Information Segment to determine boot drive, and thereby the location of CONFIG.SYS. Now accepts any color from the color palette. It no longer forces the use of solid colors.

1.30 - Show Spool-file Size option added to program. Fixed bug in adjusting options while program is minimized.

1.31 - Changed to use DosFindFirst2 in spool-file search. Minor clarity changes.

1.40 - Added digital clock.

1.41 - Added generic icon. Had only the VGA definition before.

1.42 - Responds to WM_SYSCOLORCHANGE message. Fixed bug in spool directory scanning.

1.50 (16 October 1992) - Uses country information to determine date/time format. Moved all language-dependent text to a DLL. Created separate DLLs for English and Spanish texts. Fixed bug in accessing network drives. Don't bother looking at disk drives A: or B:. Installation script for OS/2 2.0 added.

1.51 (10 November 1992) - Code streamlining. Use country's thousands separator in numbers. Turn off timer while moving window with the mouse. German translation by Dr. H. Klaeren, University of Tubingen, Germany.

1.52 (09 December 1992) - Added command-line parameter processing. Added RESET parameter to clear saved profile information. Added timer interval dialog. Added HELP option to menu. Fixed bug in installation procedure. Moved display item list to submenu.

1.53 (28 December 1992) - Fixed for Novell Server drives. Split out debugging support to DEBUG.C & DEBUG.H.   Revised translation to Spanish. Added translation to Catalan. Rewrote CPU usage function.

1.54 (30 January 1993) - Added ALT+H accelerator for the hide controls menu function. Treat ERROR_NOT_READY as removable media. Rebuild menu and window when available drive list changes. Treat ERROR_NOT_SUPPORTED as remote drive (TCP/IP).

1.60 (08 March 1993) - Added ability to monitor the number of active tasks, according to the system switch list. Fixed bug with attempts to hide controls while minimized. Only checks drive types at startup and at time of NET USE. Precalibrates the CPU load meter if HRTIMER.SYS is available.

1.61 (09 April 1993) - Now checks to see if a drive is remote before attempting to     open it as a complete drive. All remote drives get monitored. Only fixed local drives get monitored. Show drive file system names. Fixed bug in update of drive list. If a drive returns an error during poll, stop trying to poll it. Added item list resource lock.

1.62 (03 May 1993) - Fixed bug where drive Z was not checked. Fixed bug where V-disks were not monitored. Fixed bug in monitoring CPU load in very fast machines.

2.00 (06 July 1993) - Converted to 32-bits. Now saves INI information to private file. Added elapsed time monitoring.

2.10 (27 July 1993) - Added configuration dialog. Moved more fully to C++.

2.11 (20 September 1993) - Added day of week to date.

2.12 (13 October 1993) - Disabled logging. Added total disk free space item.

2.20 (15 November 1993) Converted to IBM C Set ++ for OS/2. Fixed weekday abbreviations in Catal n & Espa¤ol.

2.21 (23 December 1993) Fixed error in help manager initialization. Added window animate option to configuration dialog. Added exception handler.

2.22 (25 January 1994) Returned to using DosMemAvail (16-bit) for determining the amount of memory free. Further migration to C++. Don't include remote drives in the total free space over all drives.

2.30 (15 February 1994) Added Internet address. Fixed bug in showing drive error. Made file system name display optional. Fixed bug in window sizing. Fixed bug in CPU load monitoring. Made monitor priority configurable.

2.31 (8 June 1994) Now raises priority of idle-time thread during shutdown, insuring shutdown. Fixed bug in RESET command-line option.

2.32 (18 June 1994) Now uses time/date formatting information from the Country object.

2.40 (18 July 1994) Added Virtual Memory Free item. Added Show Disk Label option for disk free-space items. Now uses thousands-separator information from the Country object. Translation to French.

2.41 (14 January 1995) Added context menu. Added snapshot program. Added ability to use OS20MEMU.DLL if it is installed.

2.42 (28 February 1995) Added thread ID to exception log. Fixed shutdown failure. Added Unused Swap Space item.

2.43 (31 March 1995) Added ability to configure window anchor point.

2.50 (09 June 1995) Translation to Danish. Added 'Reset Load Meter' menu option. Added 'Show Seconds' configuration option.

2.51 (12 June 1995) Fixed bug in time display.

2.52 (06 July 1995) Added Close option to context menu.

3.00 (11 September 1995) Fixed lockup due to OS20MEMU never returning from call. Fixed bug in parsing swap file path from CONFIG.SYS. Fixed bug in positioning when unable to properly read INI data. Added information about HRTIMER and OS20MEMU to the documentation. Added ability to set kilobyte display on always, never or over 512K. Added ability to customize display item names. Added Copy command. Added DDE Server support. Translation to Chinese. Set codepage at startup. Temporarily disabled the use of OS20MEMU. Translation to Norwegian.

3.01 (16 October 1995) Fixed bug in initial positioning with controls hidden. Fixed bug in Reset Load Meter function.

3.10 (02 February 1996) Added ability to monitor process and thread counts. Translation to Italian.

3.11 (17 February 1996) Now accepts a range of valid codepages for each language. Translation to Japanese.

3.12 (20 February 1996) Fixed bug which disabled thread and process counts.

3.13 (08 April 1996) Translation to Hungarian.

3.20 (05 August 1996) Fixed bug in displaying values over 2Gb. Fixed surfacing bug under FixPack 17. Added option to display or not display remote drives. Added option to arrange the window in table format. Added menu option to reset drive errors. Added timer to reset drive errors automatically. Added EXCLUDE: command-line option.

3.21 (30 September 1996) Translation to Finnish. Upgraded to support Albert Shan's Super Virtual Disk. Added item warning and error thresholds and color coding of them.

3.30 (17 February 1997) Translation to Brazilian Portuguese. Added option to select 24-hour/12-hour clock. Added option for hourly chime. Added option for display of sizes in megabytes. Added battery status item. The Configuration dialog has been reworked as a notebook. Added the ability to display amounts with K=1024 or k=1000, M=1024K, m=1000k. Fixed bug in signon/signoff of network drives. Fixed bug in Copy with table format active. Fixed compatibility problem with OS/2 2.1.

3.31 (15 May 1997) Altered configuration dialog to use Warp 4.0 folder tabs when available.

4.00 (15 September 2000) Conversion to Watcom C++ and building for OS/2 and Win32 platforms. CPU Load measurement now uses the system API function DosPerfSysCall when possible. Added new item attribute for enable or disable warning and error threshold sensing. The Item Attributes dialog may now be summoned with a right-click on the corresponding item list entry. Added new display item: Average CPU Load. Fixed bug in setting Monitor Priority and Timer Interval. Removed the Save Settings (F2) menu command. It was no longer needed. Added new menu option: Reset Average Load. Fixed the Reset Defaults command to reset -all- properties to their default values. Fixed bug in getting remote drive names. Remote disk drive labels now show the computer and share names of the drives. Fixed bug in showing drive free space greater than 4 gigabytes. Added new option: Dialog border. Fixed bug in display of battery status. SnapShot now honors the main program's configuration settings. Added Date/Time configuration page. Added font sample to Colors notebook page. Fixed error in unused swap space computation. Added the ability to use Theseus/2 to get free physical memory and unused swap space. Altered to prevent more than one copy running at a time. Altered to run only in the directory in which the program was installed. Added new option: Show Disk Drives, which can be used to disable all disk monitoring. Fixed loop that happened when the system time/date was advanced. Converted 16-bit DosQProcStat calls to 32-bit DosQuerySysState calls. Added CPU Load measurement to SnapShot. Fixed bug in date format code 'r' (for POSIX HH:MM:SS (AM/PM)). Increased maximum swapper file size for thresholds from 64M to 256M. Altered to cooperate with EcoSNAP for OS/2. No longer polls CD-ROMs that have no disc in them. Fixed (maybe) error due to some interaction with Netscape Communicator 4.61. Fixed error in determining error/warning colors of drive space items. Changed 'error' to 'critical' in reference to level colors. Added uninstall script UNINSTAL.CMD. Added solution to the 50-day elapsed time wraparound. Fixed Average Load item to be able to work when the Cpu Load object is not selected. Fixed error in initializing the Always/Never buttons in the Configuration dialog. Added item for monitoring e-mail messages waiting. Added codepages 866 and 1125 (Russian & Ukrainian) to those valid for the English version. Added logic for the display of 'G'igabytes. Converted CPU Load logic to use full 64-bit arithmetic. Added configurable option use or not use Gigabyte indicator. Fixed conflict with RSJ Software's CD Writer software.

4.00 (25 May 2001) When the log file grows too large, back it up and reset it.

4.00 (1 June 2001) Fixed error in displaying numbers over 2^32.

4.00 (18 June 2001) Log file size limit now 100K, down from 1M. Initial setting for "Use Theseus" now disabled. Allow entry of up to 250 characters in e-mail reader name and e-mail alert name.

4.00 (4 July 2001) Minor corrections to German translation. Accept POP parameters without validation, if so requested. Expanded time format field to 80 characters. Stop logging POP errors.

Download

 * 
 * Source Code on github

License
Open source Software

Author

 * Rick Papo

Acknowledgements

 * Translation to Spanish by Rick Papo and Xavier Caballe. (Internet: xavi@caballe.com)
 * Translation to German by Dr. Herbert Klaeren, University of Tbingen, Germany. (Internet: klaeren@informatik.uni-tuebingen.de)
 * Translation to Catalan by Xavier Caballe. (Internet: xavi@caballe.com)
 * Translation to French by Rapha‰l Vanney. (Internet: rvanney@ibm.net)
 * Translation to Danish by Anders Gjerl›v (Internet: andersg@ibm.net)
 * Translation to Chinese (BIG-5) by Thomas Ho (Internet: thomasho@ms1.hinet.net)
 * Translation to Norwegian by Dr. Philos. Finn rstavik (Internet: finnoe@ibm.net; CompuServe: 100272,2100)
 * Translation to Italian by Stefano Ferrazzi. (Internet: piu1931@cdc8g5.cdc.polimi.it)
 * Translation to Japanese by Shinji Takasugi. (Internet: ts@airnet.or.jp)
 * Translation to Hungarian by Kovacs Istvan Attila. (Internet: kofa@vma.bme.hu)
 * Translation to Finnish by Kari Mattsson, PikoSoft, Turku, Finland. (Internet: karmat@tuug.utu.fi)
 * Translation to Brazilian Portuguese by Angelo Klin, Sao Paulo, Brazil. (Internet: aklin@ibm.net)