# Chapter 5. Common Questions and Answers

Which operating systems does KTimemon support?

  KTimemon supports Linux based systems with the `/proc` file system, Solaris based systems with the kstat library, and Digital Unix (formerly DEC/OSF1) systems with the table(2) system call interface. Only the Linux version has been thoroughly tested, if you experience any problems with the Solaris/Digital Unix port, please do not hesitate to contact me.

  Also, contributions to KTimemon to adapt it to other platforms are most welcome. Please contact me at m.maierhofer@tees.ac.uk if you intend to port KTimemon to other flavours of Unix.

How does autoscaling work?

  Glad you asked. Since there is no sensible predetermined scaling factor for paging/swapping operations and context switches (unlike e.g. memory utilisation, where you can take the total memory size as baseline), KTimemon uses a semi-intelligent (well, ...) autoscaling mechanism. Autoscaling works as follows:

  - Each of the three bar graphs as described in the extended mode section has an associated scaling factor. The initial values of these factors are set to some predetermined value.

  - Each time a new sample is displayed, the respective value is tentatively scaled with the corresponding factor. If the value can be displayed in the scale chosen by the factor, no change occurs (i.e. small changes in the activity are reflected by a changing height of the bar).

  - If the scaled value would be either too large or too small to be displayed with the current scaling factor, the scaling is adjusted so that the new value displayed is roughly halfway up the bar graph. Thus, subsequent changes should have a good chance of getting displayed relative to the current value, without having to change the scale again.

Why does a message box with "diagnostic output from child command" pop up?

  If you bind a mouse button to an external command (as described in the Configuration chapter), KTimemon does not check for a valid command name. Instead, a command shell is invoked to execute the statement, i.e. shell commands, environment variables, etc. can be used. To allow some feedback to the user, KTimemon monitors the stderr outputof the command shell, and reports it in this message box.

  While this scheme can be helpful in case a command is not found, it can be quite annoying if the invoked command prints harmless diagnostic information on stderr. A simple and elegant solution to this problem is to add `2>/dev/null`, at the end of the command specification. This redirects diagnostic messages to Nirvana and stops the message box to come along.