X based system monitor
xosview [options]
xosview is a monitor which displays the status of several system parameters. These include CPU usage, load average, memory, swap space, network usage and more. Each resource is displayed as a horizontal bar which is separated into color coded regions showing how much of the resource is being put to a particular use.
xosview runs on several platforms (Linux, NetBSD, FreeBSD, OpenBSD, DragonflyBSD, some Solaris systems, IRIX 6.5, HPUX and GNU). Not all of the meters described below are supported on all platforms. Some of the meters may appear different depending upon the platform xosview is running on. Note that *BSD is used as an abbreviation for all the supported BSD operating systems (NetBSD, FreeBSD, OpenBSD, DragonflyBSD).
Load: Kernel reported load average
all platforms : load Linux : load | CPU frequency *BSD : load | CPU frequency
CPU Usage
Linux : user | nice | system | soft-interrupt | interrupt | io-wait | guest | niced guest | stolen | idle *BSD : user | nice | system | interrupt | idle IRIX : user | system | interrupt | wait | idle HPUX : user | nice | system | interrupt | idle
Memory Usage
Linux : used | buffers | slab | map | cache | free FreeBSD: active | inactive | wired | cache | free DFBSD : active | inactive | wired | cache | free OpenBSD: active | inactive | wired | free NetBSD : active | inactive | wired | free IRIX : kernel | fs | user | free HPUX : text | used | other | free GNU : active | inactive | wired | free
Swap Usage
Linux : used | free *BSD : used | free HPUX : used | free GNU : used | free
Disk Usage: Throughput to/from local disk, per second
Linux : in | out | idle *BSD : in | out | idle
Page Swapping: Pages to/from swap, per second
Linux : in | out | idle *BSD : in | out | idle HPUX : in | out | idle GNU : in | out | idle
Network Usage
Linux : in | out | idle *BSD : in | out | idle
GFX Usage: Framebuffer exchanges, per second
IRIX : swapbuffers
Interrupts: "leds" which blink when an interrupt occurs
Linux : IRQs *BSD : IRQs
Interrupt Rate: Per second
*BSD : interrupts | free
Serial Port Status: "leds" which show the serial port parameters
Linux : LSR and MSR
Battery Level: charge and status of batteries
Linux : available | used *BSD : available | used
RAID: State of disks in a software RAID array
Linux : disk0 disk1 disk2 ... diskN | rebuild
Wireless Link
Linux : quality
Temperature sensors
Shows readings from temperature sensors. Linux : ACPI or i2c/hwmon or Intel Core/AMD K8+ sensors *BSD : i2c or Intel Core/AMD K8+ sensors
Typing a 'q' in the window will terminate xosview.
Most of these command line options are just a convenient way to set one or more of xosview's resources. Please see the RESOURCES section for more details on what the resource is for.
-v
Displays the version number.
-name name
Sets the Resource name xosview will use (same as the -name option for typical X applications like xterm). When performing resource lookups, xosview will look under name, and then under ``xosview''. For an example, perform the following (as documented in README.netbsd):
xrdb -merge Xdefaults.stipple xosview -name xosvstipple & xosview -name xosvstipplebw &
-display display
Sets the X display to display. This option overrides the xosview*display resource.
-font font
Specifies the font xosview will use for labels. This option overrides the xosview*font resource.
-title title
This option sets the name xosview will tell the window manager to use for the X window and icon. This option overrides the xosview*title resource.
-geometry geometry_string
Sets the X geometry to geometry_string. This option overrides the xosview*geometry resource.
-\$1
This option overrides the xosview*\$1 resource. It is equivalent to setting xosview*\$1 to "False".
+\$1
This option overrides the xosview*\$1 resource. It is equivalent to setting xosview*\$1 to "True".
\+cpus
Force the display of all CPUs in the system. This option is equivalent to setting xosview*cpuFormat to "all".
-network maxbandwidth -networkBW maxbandwidth -networkBandwidth maxbandwidth
These options override the xosview*netBandwidth resource. They cause xosview to display a meter that will shows network usage, with a maximum bandwidth of maxbandwidth. Notice that setting the bandwidth to 0 no longer disables the meter -- use the ``-net'' option instead.
-pagespeed val
This option overrides the xosview*pageBandWidth resource. The resource xosview*pageBandWidth will be set to val.
-ints +ints -interrupts +interrupts
Equivalent to -int and +int.
-intrate +intrate
Equivalent to -irqrate and +irqrate.
-xrm resource_string
This switch allows any of xosview's resources to be set on the command line. An example of how the xosview*memFreeColor could be set using this option is shown below (Note the use of " to prevent the shell from expanding \'*\' or from creating two separate arguments, \'xosview*memfreeColor:\' and \'purple\'):
-xrm "xosview*memFreeColor: purple"
The following is a list of X resources supported by xosview. Each has a default value assigned to it. These values can be found in the file Xdefaults which can be obtained in the source distribution of xosview. They can be overridden in the usual places (/usr/lib/X11/app-defaults/XOsview, $HOME/.Xdefaults, etc.).
It should be noted that it is OK to have a resource defined for a port of xosview that does not support the feature the resource configures. Xosview will simply ignore the resources that are set for it but not supported on a given platform.
General Resources
xosview*title: name
The string that xosview will use for the X window title. Normally xosview will use 'xosview@machine_name' for a title. This resource overrides the default behavior.
xosview*geometry: geometry_string
This is a standard X geometry string that defines the size and location of the X window used by xosview.
xosview*display: name
The name of the display where xosview will contact the X server for drawing its window.
xosview*pixmapName: name
The filename of an X pixmap (xpm) file for use as a background image.
xosview*captions: (True or False)
If True then xosview will display meter captions.
xosview*labels: (True or False)
If True then xosview will display meter labels.
xosview*meterLabelColor: color
The color to use for the meter labels.
xosview*usedlabels: (True or False)
If True then xosview will display labels that show the percentage of the resource (or absolute amount, depending on the meter) being used. This option requires that the labels option also be set to True.
xosview*usedLabelColor: color
The color to use for "used" labels.
xosview*borderwidth: width
The width of the border for the xosview window.
xosview*font: font
This is the font that xosview will use.
xosview*background: color
This is the color that will be used for the background.
xosview*foreground: color
This is the color that will be used for the foreground.
xosview*enableStipple: (True or False)
Change to true to try stipple support. This is primarily for users stuck with 1-bit monitors/display cards. Try setting enableStipple true. Please give us feedback on this, if you use it. It needs some more work, but no one has given us any feedback so far.
xosview*graphNumCols: number
This defines the number of sample bars drawn when a meter is in scrolling graph mode. This also has the side-effect of defining the width of the graph columns. This is only used by meters which have graph mode enabled.
Load Meter Resources
xosview*\$1: (True or False)
If True then xosview will display a \$1 meter.
xosview*loadProcColor: color
This is the color that the load meter will use to display the load average when it is below the warning threshold.
xosview*loadWarnColor: color
This is the color that the load meter will use once the load average is above the warning but below the critical load threshold.
xosview*loadCritColor: color
This is the color that the load meter will use once the load average is above critical load threshold.
xosview*\$1\$2Color: color
The \$1 meter will use this color to display the \$3 field.
xosview*\$1Priority: priority
This number (which must be an integer >= 1) sets the number of tenths of a second that the \$1 meter waits between updates. A value of 1 has xosview update the meter 10 times per second (the fastest). A value of 600 would cause xosview to update the meter once a minute.
xosview*loadWarnThreshold: int
This number (which must be an integer >= 1) sets the value at which the loadmeter changes its status and color from "normal" to "warning". The default value is the number of processors.
xosview*loadCritThreshold: int
This number (which must be an integer >= 1) sets the value at which the loadmeter changes its status and color from "warning" to "critical". The default value is four times the warning threshold.
xosview*loadDecay: (True or False)
You should probably leave this at the default value (False). The load is already a time-averaged value!
xosview*\$1Graph: (True or False)
If this is set to True then the \$1 meter will be drawn as a horizontally scrolling bargraph showing the state value verses time.
xosview*\$1UsedFormat: (float, percent or autoscale)
This resource tells xosview how to display "used" labels. The formats work as follows:
float:
Display the value as a floating point number.
percent:
Display the value as a percentage of the total.
autoscale:
Display the absolute value and automatically print the units (K, M, or G) as appropriate.
xosview*loadCpuSpeed: (True or False)
Display the current CPU speed in the load meter.
CPU Meter Resources
xosview*cpu: (True or False)
If True then xosview will display a cpu meter. On Linux and IRIX SMP machines, the resource cpuFormat defines how meters are created for multiple CPUs.
xosview*\$1Decay: (True or False)
If True then the \$1 meter will be split vertically in two. The top half will show the instantaneous state, while the bottom half will display a decaying average of the state.
xosview*cpuFormat: (single, all, both or auto)
If `single', only a cumulative meter for all CPU usage is created. `all' creates a meter for each CPU, but no cumulative meter. `both' creates one cumulative meter and one for each CPU. `auto' makes a choice based on the number of CPUs found.
xosview*cpuFields: USED/USR/NIC/SYS/INT/SI/HI/WIO/GST/NGS/STL/IDLE
The set of fields to show in Linux CPU meter instead of the default. Possible fields are:
USED:
Combine all used CPU time into one field. This is the sum of user, nice, system, soft and hard interrupts, guest, niced guest and stolen times. None of these, except stolen, may be defined together with `USED'.
IDLE:
Time spent doing nothing. Includes I/O wait if it is not defined separately.
USR:
Time spent in user mode processes. Includes nice, guest and niced guest if those are not defined separately.
NIC:
Time spent in niced user mode processes. Includes niced guest if neither it nor guest is not defined separately.
SYS:
Time spent in kernel code. Includes soft and hard interrupt as well as stolen time if those are not defined separately.
INT:
Combines soft and hard interrupt handling times into one field.
SI:
Time the kernel used to handle soft interrupts. Available on Linux kernel 2.6.0 and higher.
HI:
Time the kernel used to handle hard interrupts. Available on Linux kernel 2.6.0 and higher.
WIO:
Time spent waiting for I/O to complete. Available on Linux kernel 2.6.0 and higher.
GST:
Time spent running guest OS in virtual machine. Includes niced guest if it is not defined separately. Available on Linux kernel 2.6.24 and higher.
NGS:
Time spent running niced guest OS in virtual machine. Available on Linux kernel 2.6.32 and higher.
STL:
Involuntary wait time when running as guest in virtual machine. Available on Linux kernel 2.6.11 and higher.
Most combinations are possible (see above for restrictions), but at least `USED' or `USR' and `SYS' need to be defined. `IDLE' field is added automatically.
Memory Meter Resources
Swap Meter Resources
Page Swapping Meter Resources
xosview*pageBandWidth: maxEvents
This number is used to specify the expected maximum bandwidth (in events / sec) for the page meter. When the expected maximum bandwidth (maxEvents) is exceeded then the page meter will display the relative percentage of page swapping (25% in, 75% out).
Gfx Meter Resources
xosview*gfx: (True or False)
If True xosview will display the GfxMeter. The value is sampled once per second, due to the usage of sadc to sample data.
xosview*gfxWarnColor: color
This is the color that the gfx meter will use once the warn state is reached.
xosview*gfxAlarmColor: color
This is the color that the gfx meter will use once the alarm state is reached.
xosview*gfxSwapColor: color
This is the color that the gfx meter will use in normal state
xosview*gfxWarnThreshold: int
This number (which must be an integer >= 1) of swapbuffers per second and pipe at which the gfxmeter changes its status and color from "normal" to "warn". The default value is 60.
xosview*gfxAlarmThreshold: int
This number (which must be an integer >= gfxWarnThreshold) of swapbuffers per second and pipe at which the gfxmeter changes its status and color from "warn" to "alarm". The default value is 120.
xosview*gfxDecay: (True or False)
You should probably leave this at the default value (False). The gfx does not work in decay mode.
Network Meter Resources
xosview*net: (True or False)
If True xosview will display the NetMeter. Linux users will have to configure their kernels and setup some ip accounting rules to make this work. See the file README.linux which comes with the xosview distribution for details.
xosview*netBandwidth: maxBytes
This number is used to specify the expected maximum bandwidth (in bytes / sec) for the meter. When the expected maximum bandwidth (maxBytes) is exceeded then the network meter will display the relative percentage of network usage (25% incoming, 75% outgoing).
xosview*netIface: interface
If False, xosview will display the data received/transmitted by any of the network interfaces. Otherwise, xosview will only display the data received/transmitted by the specified network interface. If the name is prepended with '-' sign, the data in that interface is ignored.
xosview*netBackground: color
This is the color that the network meter will use for the "idle" field.
NFSStats (Client) Resources
xosview*NFSStats: (True or False)
If True then xosview will display a meter to monitor NFS client stats.
xosview*NFSStatReTransColor: color
The color to be used for retransmit stats.
xosview*NFSStatAuthRefrshColor: color
The color to be used for auth refresh stats.
xosview*NFSStatCallsColor: color
The color to be used for call stats.
xosview*NFSStatIdleColor: color
The color to be used for idle stats.
NFSDStats (Server) Resources
xosview*NFSDStats: (True or False)
If True xosview will display a meter for NFS server/daemon stats.
xosview*NFSDStatCallsColor: color
The color to be used for call stats.
xosview*NFSDStatBadCallsColor: color
The color to be used for bad stats.
xosview*NFSDStatUDPColor: color
The color to be used for UDP stats.
xosview*NFSDStatTCPColor: color
The color to be used for TCP stats.
xosview*NFSDStatIdleColor: color
The color to be used for idle stats.
Serial Meter Resources
xosview*serial(0-9): (True, False, or portBase)
If True then xosview will display a serial meter for ttySx. The portbase will be autodetected. Because autodetection can fail, (if the port is locked by ppp/slip for example) you can specify the portbase instead of "True". If a portBase is used then xosview will use it instead of trying to autodetect.
For this to work on Linux xosview needs to be suid root in order to have access to the ports. See the file README.linux which comes with the xosview distribution for more details.
xosview*serialOnColor: color
This is the color the serial meter will use for bits that are set.
xosview*serialOffColor: color
This is the color the serial meter will use for bits that are not set.
Interrupt Meter Resources
xosview*interrupts: (True or False)
If True then xosview will display an interrupt meter.
xosview*intSeparate: (True of False)
If True then xosview will display one interrupt meter per CPU on SMP machines. If False only one meter is displayed. Default: True.
xosview*intOnColor: color
This is the color that will be used to show "active" interrupts.
xosview*intOffColor: color
This is the color that will be used to show "inactive" interrupts.
Lm Sensors Temperature Resources
xosview*lmstempHighest: 100
Highest temp value displayed, default 100.
xosview*lmstempActColor: color
Color of actual temperature.
xosview*lmstempHighColor: color
Color above alarm temperature, also used to indicate alarm.
xosview*lmstempIdleColor: color
Color between actual and alarm temperatures.
xosview*lmstempN: filename
Name of temperature file from /proc/sys/dev/sensors/*/* or /sys/class/hwmon/*/*, N=1... Also absolute path is accepted. Note that if more files with same name exists, only the first is found unless absolute path is used. For example,
xosview*lmstemp1: temp
xosview*lmstemp2: remote_temp
xosview*lmstempLabelN: Labelstring
N-th label for above temperatures, default is TMP.
ACPI Temperature Resources
xosview*acpitempHighest: 100
Highest temp value displayed, default 100. If acpihighN is given, the value is read from there instead.
xosview*acpitempActColor: color
Color of actual temperature.
xosview*acpitempHighColor: color
Color above alarm temperature, also used to indicate alarm.
xosview*acpitempIdleColor: color
Color between actual and alarm temperatures.
xosview*acpitempN: filename
Name of temperature file from /proc/acpi/thermal_zone or /sys/devices/virtual/thermal. Note that the last directory part must be given, e.g. TZ0/temperature. Absolute path can also be used.
xosview*acpihighN: filename
Name of high value/trip point file from /proc/acpi/thermal_zone or /sys/devices/virtual/thermal, or an absolute path to one.
xosview*acpitempLabelN: Labelstring
N-th label for above temperatures, default is TMP.
Intel Core / AMD K8+ Temperature Sensor Resources
xosview*coretempHighest: 100
Highest temp value displayed, default 100. If none is given, TjMax value is used, if available.
xosview*coretempActColor: color
Color of actual temperature.
xosview*coretempHighColor: color
Color above alarm temperature, also used to indicate alarm.
xosview*coretempIdleColor: color
Color between actual and alarm temperatures.
xosview*coretempNPackage: 0
The number of physical CPU for meter N on Linux. Currently only one physical CPU can be shown per meter.
xosview*coretempNDisplayType: (separate, average or maximum)
This resource tells xosview how to display the temperature for meter N. The formats work as follows:
separate:
Display one meter for each CPU core of a multi-core CPU. This is the default.
average:
Display average temperature of a multi-core CPU.
maximum:
Display the highest core temperature of a multi-core CPU.
*BSD Sensor Resources
xosview*bsdsensorActColor: color
Color of actual value.
xosview*bsdsensorHighColor: color
Color above alarm value, also used to indicate alarm.
xosview*bsdsensorIdleColor: color
Color between actual and alarm values.
xosview*bsdsensorN: name.type
xosview*bsdsensorHighN: name.type
Here, the name is the sensor driver, and type is the wanted value. Also static numerical value is accepted for bsdsensorHighN.
You can find the correct pair for OpenBSD and DragonflyBSD with systat command, e.g.
xosview*bsdsensor1: it0.temp1
xosview*bsdsensorHigh1: 100
On NetBSD, you can find the driver name with envstat command. Value name for the actual reading is typically 'cur-value' and for alarm level 'max-critical', e.g.
xosview*bsdsensor2: coretemp0.cur-value
xosview*bsdsensorHigh2: coretemp0.max-critical
For all possible NetBSD value names, refer to envstat source code.
FreeBSD has no sensor drivers as of version 9.0. However, ACPI thermal zones can be used by defining the sysctl node below hw.acpi.thermal, e.g.
xosview*bsdsensor1: tz0.temperature
xosview*bsdsensorHigh1: tz0._CRT
ACPI thermal zones work similarly on DragonflyBSD as well.
xosview*bsdsensorLabelN: Labelstring
N-th label for above meters, default is SENN.
Battery Meter Resources
xosview*battery: (True or False)
If True then xosview will display a battery meter. Linux users will need to have APM or ACPI support in their kernels for this to work. For both APM and ACPI, xosview shows the status/sum of all batteries. Additionally - the legend text gets changed/adjusted to reflect the current state (charging/low/critical/etc.) of the battery/batteries.
xosview*batteryLeftColor: color
This is the color that will be used to show the amount of battery power left.
xosview*batteryUsedColor: color
This is the color that will be used to show the amount of battery power used.
xosview*batteryChargeColor: color
This is the color that will be used as 'left' - if the batteries get charged.
xosview*batteryFullColor: color
This is the color that will be used as 'left' - if the batteries are fully charged. APM and ACPI does provide this info, but not all machines actually do so.
xosview*batteryLowColor: color
APM only - the 'left' color that will indicate a low battery. Depends on the machine - e.g. below 25% remaining capacity.
xosview*batteryCritColor: color
APM case: the 'left' color if APM indicates 'critical' state. (less than 5%) ACPI case: the 'left' color if the remaining capacity is below the alarm value. (which can be set by the user in /proc/acpi/battery/BAT[01]/alarm )
xosview*batteryNoneColor: color
If no battery is present - or all batteries get removed (while on AC).
Wireless Meter Resources
xosview*wireless: (True or False)
If True then xosview will display the link quality of each wireless connection. Note that the graph will *never* show up, if you don't have any wireless devices, or no wireless extensions in the kernel (/proc/net/wireless). Default is true.
xosview*PoorQualityColor: color
This is the color for the quality field when between 0 and 6.
xosview*FairQualityColor: color
This is the color for the quality field when between 7 and 14.
xosview*GoodQualityColor: color
This is the color for the quality field when higher than 14.
xosview*wirelessUsedColor: color
This is the background color.
Disk Meter Resources
xosview*diskBandwidth: bandwidth
This number is used to specify the expected maximum bandwidth in bytes per second for the disk meter.
xosview*diskWriteColor: color
This color will be used for the linux meter to show writes.
xosview*diskReadColor: color
This color will be used for the linux meter to show reads.
RAID Meter Resources
xosview*RAIDdevicecount: int
Please enter your RAID device count (n) here or 0 if you don't have any supported RAID devices. xosview then will display n RAID state displays.
xosview*RAIDdiskOnlineColor: color
xosview*RAIDdiskFailureColor: color
These colors will be used for indicating working/online or failed/offline disks. The order (from left to right) is the same as in /proc/mdstat.
xosview*RAIDresyncdoneColor: color
xosview*RAIDresynctodoColor: color
xosview*RAIDresynccompleteColor: color
If a resync/rebuild of the RAID array is in progress, the "done" and "todo" colors will be used. If no rebuild/resync is running, then the "complete" color will be shown.
This version of xosview is distributed from the following site:
http://www.pogo.org.uk/~mark/xosview/
Mike Romberg <[email protected]>
Original author, Linux and HPUX ports.
Brian Grayson <[email protected]>
NetBSD port and most of the nice enhancements for version 1.4, initial work on FreeBSD port.
Scott McNab <[email protected]>
Added the scrolling graph mode.
Tom Pavel <[email protected]>
Most of the FreeBSD support, more resource-handling improvements.
Greg Onufer <[email protected]>
SunOS port.
Stefan Eilemann <[email protected]>
IRIX 6.5 port.
Sheldon Hearn <[email protected]>
FreeBSD libdevstat-based diskmeter support.
David W. Talmage <[email protected]>
Added battery-meter support to NetBSD.
Oleg Safiullin <[email protected]>
OpenBSD interrupt-meter support.
Werner Fink <[email protected]>
Originator of the loadmeter.
Massimiliano Ghilardi <[email protected]>
Linux pagemeter.
Carsten Schabacker <[email protected]>
Made extensions to the serial-meter.
Paal Beyer <[email protected]>
Ported the linux memstat kernel module to linux-2.1
Jerome Forissier <[email protected]>
Author of the Linux SMP kernel patch which xosview uses to display meters for each CPU.
Tomer Klainer <[email protected]>
Initial port to BSDI.
Arno Augustin <[email protected]>
Solaris disk and network meters.
Alberto BARSELLA <[email protected]>
Fixes for linux diskmeter + ip_chains support
Thomas Waldmann <[email protected]>
Linux raid meter, bitfieldmeter. Many cosmetic fixes.
Leopold Toetsch <[email protected]>
Linux lms temp meter.
David O'Brien <[email protected]>
FreeBSD 4.* updates, and a few other suggestions.
Christos Zoulas <[email protected]>
C++ standard compliance and other NetBSD fixes.
Tim Ehlers <[email protected]>
Wireless Link-Meter for Linux.
Mark Hills <[email protected]>
Bug fixes and general caretaking.
Tomi Tapper <[email protected]>
Temperature sensor, and FreeBSD updates.
Raymond S Brand ([email protected])
Misc fixes.
And many others who have sent in small fixes and improvements.