README for xsysinfo version 1.2.

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, CPU idle, memory and swap sizes
(details see below).

Xsysinfo 1.2 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.)


NEW FEATURES:

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 xsysinfo included in the archive, which needs the new
X distribution (XFree-1.2) with the 4.3 jump libs. 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... 

NOTE: If you run the SLS release of Linux, you have to recompile xsysinfo,
because the X version in current SLS distribution is still XFree-1.0. The
binary version requires the 3.0 shared libs of XFree-1.2. Unfortunatly 
`xmkmf' included in SLS creates wrong install rules, so if you use it to 
create a Makefile, the app-defaults file will be installed in the wrong
directory. Therefore copy the included `Makefile.SLS' to `Makefile' instead
of creating a new one with xmkmf.

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
	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 idle
	percentage CPU idle time to real time.

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

	o	amount of physical memory, which is not shared among
		processes (i.e. private process data).

	o	amount of physical memory, which is shared among
		processes (i.e. mainly process code and const data)

	o	physical memory used for the buffer cache

	The length of the whole bar, which is the sum of these three 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
	-load  (-noload)	show (don't show) CPU load value
	-idle  (-noidle)	show (don't show) CPU idle value
	-mem   (-nomem)		show (don't show) Memory info
	-swap  (-noswap)	show (don't show) Swap info
	-help			show usage

  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
