README for xsysinfo version 1.5.

WHAT IS XSYSINFO:

xsysinfo is an X application to display some Linux kernel
parameters in graphical form. It is like a mix of top, free and xload
with the difference that the values are shown in form of a horizontal bar.
The displayed values are: CPU load average, CPU load, memory and swap sizes
(details see below).

Xsysinfo 1.5 runs at least under Linux 0.99pl5 with the proc filesystem (as
kernels from this release on support the CPU idle time, no patch is
necessary like in earlier versions of xsysinfo). Starting with version 1.3,
xsysinfo also supports the new /proc/meminfo-format used in kernels >= 1.3.x


NEW FEATURES:

Changes from version 1.4 to 1.5:

o  The mem-bar now consist of two segments only: used memory and cache/buffers.
o  Rename the load to loadavg.
o  Replaced the idle bar with a load bar consisting of three segments:
   user load/system load/nice load
o  Added a define to allow empty segments to disappear (currently the default).
   Otherwise every segment will be at least 1 pixel wide. To change the
   behaviour edit the Imakefile, call `imake', `make clean' and `make'.
o  Changed color of some bars.

   Ronald Wahl <Ronald.Wahl@informatik.tu-chemnitz.de>

Changes from version 1.3 to 1.4:

o  Fixed mem-bar that was broken in 1.3. Removed 4th segment again and
   merged buffers & cached.
o  Added -nolabels switch for use with fvwm's GoodStuff (thanks to Ronald
   Wahl <rwa@informatik.tu-chemnitz.de> for patches)

   Martin Buck   <martin-2.buck@student.uni-ulm.de>


Changes from version 1.2 to 1.3:

o  Made xsysinfo understand new /proc/meminfo format introduced in 1.3.x
   kernels.

o  Split mem-bar into 4 segments (data, shared, buffers, cached) if info
   is available.

   Martin Buck   <martin-2.buck@student.uni-ulm.de>


Changes from version 1.1 to 1.2:

o	load value

   The gauge for CPU load is now capable to display values up to 8.0. The 
   bar is automatically subdivided in segments when necessary (see. below). 


o	proc filesystem

   The proc filesystem under kernel 0.99pl5 reports the absolute CPU idle
   time in file /proc/uptime and not like the earlier kernels, with my patches
   applied, in file /proc/idle. I changed xsysinfo to obtain the idle value 
   from uptime.


o	swap display

   The 0.99pl5 kernel doesn't support a detailed swap space reporting in
   /proc/meminfo any longer. Only the total swap space statistics can be 
   obtained, so the swap gauge of xsysinfo is not segmented as in version 1.1.


o	color resources

   There is a separate resource file for color displays, which is loaded
   automatically by X's customizations mechanism (see below).


Changes from version 1.0 to 1.1:

o	proc filesystem

   I have completely rewritten the code to get the kernel params. It now uses
   the proc filesystem, which made the whole stuff a lot easier. Another
   advantage of the proc fs is, that xsysinfo can run under normal permissions
   and need not to be recompiled with every new kernel release. 


o	memory display changed

   The two gauges for memory and cache sizes are now merged together. The
   new gauge is still in form of a bar, but is subdivided into three `segments',
   each displayed in a different color. The meaning of the three segments
   is: buffer cache, shared part of memory, non-shared part of memory. The 
   length of the whole bar is proportional to the amount of all used memory.


o	more than one swap area supported

   The gauge for swap size is now also subdivided, one `segment' for each
   swap file/partition.


o	gauges now can be disabled

   Now it is possible to disable each of the gauges either through 
   application resources or through command line options. 



FOR THE IMPATIENT:

If you want to take a look at xsysinfo, before you decide to install it,
make sure the proc fs is mounted at /proc, then just type:

  XAPPLRESDIR=. xsysinfo &


HOW TO INSTALL:

There is a compiled ELF-version of xsysinfo included in the archive, which
was built with XFree86 3.1.2 and libc 5.3.12. If you want to install this
binary just type

make install

as root. xsysinfo runs under normal (755) permissions, so you don't have to
make it setuid/setgid.

NOTE: Use this way to install xsysinfo! `make install' not only copies the 
binary to the right place, it also installs the system wide application 
defaults file (XSysinfo). Without this file you'll get a running xsysinfo,
but it won't look very nice... 

If you want to create your own compiled version just type:

xmkmf
make clean
make

(you'll need the programming package and the libraries from the XFree
distribution to do this.)
Now you can install it as described above.

xsysinfo requires that the proc filesystem is compiled into the kernel
(this is the default anyway) and that it is mounted on directory /proc.
This is usually the case, if you have SLS or use the procps package from
Michael K. Johnson. To check this just do an `ls' on /proc, which should
give something like this:

$ ls /proc
1/       21/      27/      39/      42/      52/      kmsg     uptime
14/      22/      28/      4/       44/      75/      loadavg
15/      23/      29/      40/      46/      87/      meminfo
20/      24/      38/      41/      47/      self/    version

To mount the proc filesystem, add the following line to your /etc/fstab:

none            /proc           proc    defaults        # proc fs


WHAT IS DISPLAYED:

Xsysinfo displays the following values:

  - CPU load average
	CPU load average between 0.000-8.000. The gauge's bar is subdivided
	into segments, where one segment represents a load value of 1.0. The
	bar's full length is automatically scaled, depending on the displayed
	value:

		load value (l)		full length	# segments
		------------------------------------------------------
		0.00 <= l < 1.00	1.00		1
		1.00 <= l < 2.00	2.00		2
		2.00 <= l < 3.00	3.00		3
		... and so on ...

  - CPU load
	percentage CPU load time to CPU idle time subdivided in three segments:
	user load, system load and nice load.

  - Memory
	The memory gauge's bar is subdivided into two smaller parts, called 
        `segments', with following values (from left to right):

	o	amount of physical memory, which is used by processes

	o	physical memory used for the page and buffer cache

	The length of the whole bar, which is the sum of these two values,
	shows the amount of physical memory currently used by the system.

  - Swap
	The percentage of swap space used by the system to total amount of
	swap space.



COMMAND LINE OPTIONS:

  xsysinfo accepts the following command line options:

	-update <n>             set update rate to <n> seconds
	-title   (-notitle)     show (don't show) title string
	-labels  (-nolabels)    show (don't show) gauge labels
	-loadavg (-noloadavg)   show (don't show) CPU load average value
	-load    (-noload)      show (don't show) CPU load value
	-mem     (-nomem)       show (don't show) Memory info
	-swap    (-noswap)      show (don't show) Swap info
	-help                   show this message

  You can also specify any of the standard toolkit options (see: manpage X(1)).



CONFIGURATION:

  As the most X programs, xsysinfo is highly configurable. There are two
  resource files: XSysinfo with color independent settings and XSysinfo-color
  with color resources. The latter is automatically loaded, if your server 
  is set up to use color customized resource files. To do this just add 

  *customization: -color

  in your server resource file loaded by xrdb at startup (usually 
  /usr/X386/lib/X11/xinit/.Xresources).

  If you find a better color setting as the default, mail me a copy of your
  resource file. I'll make it available in the next release.


ACKNOWLEDGMENTS:

Thanks to Linus and the other kernel hackers, who made Linux to this great
OS. Also thanks to Muhammad M. Saggaf for his suggestions and ideas for this
xsysinfo release. And last but not least thanks to Lucas Bussmann and 
Joerg Fries for creating the color resources.


COMMENTS:

Comments, bug reports, whishes etc... are welcome. Send them to me
Gabor Herr (herr@iti.informatik.th-darmstadt.de).

Have fun watching the kernel...


Gabor
