The sentinel takes a bit of getting used to, but it comes in quite handy after a while. Not unlike the "Pulse" widget, it shows you a graph of how memory usage has evolved on your system over time. This graph is updated every two seconds.
However, the sentinel shows you several graphs at the same time, in
different colors, with the current measurements (in MB) painted in the
same colors on the left:
The graphs represent the following:
win32k.sys
driver from Odin (March 2001 or
newer) installed, the size of your swap file is represented by two more colors, as
in the screenshot above. The third value (in purple) then shows you the
the amount of space in your swap file that is currently in use. The
bottom value (in red) then represents the free space in the swap file.
The two values added represent the size of your swap file.
As you can see in the above screenshot, more and more memory was allocated until the free memory (in green) was used up. &os2; then started using free space in the swap file (in red) until that was used up too. Then &os2; started growing the swap file, which is represented by the purple graph growing. Finally, the memory was gradually released, which was shown by the blue and purple graphs shrinking again. Finally, &os2; started shrinking the swap file again since there was plenty of free space in it.
If you do not have a recent win32k.sys
driver installed, you will
only see a purple color, simply representing the size of your swap file.
Note that you can drag and drop fonts and colors onto the sentinel widget. Presently, you can only change the background color though. Besides, it is sizeable.
Implementation Details
The source of the information that is displayed by the sentinel widget
depends on whether a recent version of Odin's win32k.sys
driver is installed.
win32k.sys
was found, all memory information is retrieved
directly from that driver, which peeks into the &os2; kernel memory management to
find out those values. This is extremely efficient and also more detailed than
the alternative method described below.
For this to work, you will need a win32k.sys
build from March 2001
or later. Knut Stange Osmundsen was kind enough to add that functionality to the
win32k.sys
driver for &xwp;.
Dos16MemAvail
(as described on the
"Memory" widget page) and the size of the swapper
file, which is determined periodically by doing a simple file-system call on the
swapper file directly. These values are directly represented by the top and bottom
graphs.
The total amount of virtual memory (all three graphs together)
is simply calculalated by adding the amount of total physical RAM (which is
returned from the
DosQuerySysInfo
API*
and will never change)
to the size of the swapper file.
The middle graph (the physical RAM currently in use) is simply the difference between the total physical RAM and the currently free physical RAM.
Note that this implementation cannot show you free space in the swapper drive.