Make a branch to make krunner Good Enough For Aaron™.
[kdebase/uwolfer.git] / workspace / doc / ksysguard / index.docbook
blob3396564cc39864af87ba78cede93a7614229f6e2
1 <?xml version="1.0" ?>
2 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
3 "dtd/kdex.dtd" [
4 <!ENTITY kappname "&ksysguard;">
5 <!ENTITY package "kdebase">
6 <!ENTITY % addindex "IGNORE">
7 <!ENTITY % English "INCLUDE" > <!-- change language only here -->
8 ]>
10 <book lang="&language;">
11 <bookinfo>
12 <title>The &ksysguard; Handbook</title>
14 <authorgroup>
15 <author>
16 &Chris.Schlaeger;&Chris.Schlaeger.mail;
17 </author>
19 <othercredit role="developer">
20 &John.Tapsell; &John.Tapsell.mail;
21 <!-- <contrib>Developer</contrib> -->
22 </othercredit>
24 <othercredit role="developer">
25 &Chris.Schlaeger;&Chris.Schlaeger.mail;
26 <!-- <contrib>Developer</contrib> -->
27 </othercredit>
29 <othercredit role="developer">
30 &Tobias.Koenig;&Tobias.Koenig.mail;
31 <!-- <contrib>Developer</contrib> -->
32 </othercredit>
34 <!-- TRANS:ROLES_OF_TRANSLATORS -->
35 </authorgroup>
37 <copyright>
38 <year>2000</year>
39 <holder>&Chris.Schlaeger;</holder>
40 </copyright>
42 <legalnotice>&FDLNotice;</legalnotice>
44 <date>2000-12-14</date>
45 <releaseinfo>1.00.00</releaseinfo>
47 <abstract><para>&ksysguard; is a network enabled task and system monitor
48 application.</para></abstract>
50 <keywordset>
51 <keyword>KDE</keyword>
52 <keyword>KSysGuard</keyword>
53 <keyword>process monitor</keyword>
54 <keyword>performance monitor</keyword>
55 <keyword>system monitor</keyword>
56 <keyword>top</keyword>
57 <keyword>ps</keyword>
58 </keywordset>
59 </bookinfo>
61 <chapter id="introduction">
62 <title>Introduction</title>
64 <para>&ksysguard; is the &kde; Task and Performance Monitor.
65 </para>
66 <para>
67 It features
68 a client/server architecture that allows monitoring of local as well as remote
69 hosts. The graphical front end uses so-called sensors to retrieve the
70 information it displays. A sensor can return simple values or more complex
71 information like tables. For each type of information, one or more displays are
72 provided. Displays are organized in worksheets that can be saved and loaded
73 independently from each other. So, &ksysguard; is not only a simple task manager
74 but also a very powerful tool to control large server farms.</para>
76 </chapter>
78 <chapter id="usingtheksysguard">
79 <title>Using &ksysguard;</title>
81 <sect1 id="getting-started">
82 <title>Getting started</title>
84 <para>&ksysguard; can be started from the &kmenu;, using the entry
85 <guimenuitem>System Monitor</guimenuitem> in the
86 <guimenu>System Tools</guimenu> menu. Alternatively, you
87 can start it by typing <command>ksysguard</command> in a terminal.</para>
89 <para>The &ksysguard; main window consists of a menu bar, an optional tool bar
90 and status bar, and the work space. Custom worksheets will also show the sensor
91 browser.
92 </para>
93 <para>
94 By default &ksysguard; shows two worksheets: "Process Table" and "Sensor Load".
95 The Process Table lists the running processes and lets the user control them.
96 Multiple processes can be selected and controlled at once.
97 The Sensor Load worksheet shows graphs of system utilization: (clockwise from
98 Top-Left) CPU Load, the system Load Average over the past minute, Physical
99 Memory (RAM) usage, and finally Swap Memory usage.
100 </para>
102 <para>This default setup is sufficient enough for an inexperienced user to do
103 some system management. An experienced user or even a system administrator of a
104 large computer lab has different needs. To address a wide range of users,
105 &ksysguard;
106 is highly flexible.</para>
107 </sect1>
109 <sect1 id="the-sensor-browser">
110 <title>The Sensor Browser</title>
111 <para>The sensor browser exposes &ksysguard;'s advanced functionality. To
112 use it, you must first go to the file menu and create a new worksheet.
113 It is shown whenever a custom worksheet is selected.</para>
114 <para>The sensor browser displays the registered hosts and their sensors in a
115 tree form. Click on the tree handles to open or close a branch. Each sensor
116 monitors a certain system value.</para>
118 <sect2 id="connectingtootherhosts">
119 <title>Connecting to other hosts</title>
121 <para>To connect to a new host use <guimenuitem>Monitor remote machine...</guimenuitem>
122 from the <guimenu>File</guimenu> menu. A dialog box will appear and allows you
123 to enter the name of the host you want to connect to. Below the name you can choose
124 the connection method. The default is <application>ssh</application>, the secure
125 shell. Alternatively the <application>rsh</application>, the remote shell, or
126 the daemon mode can be used. Click <guibutton>OK</guibutton> to
127 establish the connection. Shortly afterwards the new host will appear in the
128 sensor browser and you can browse the list of sensors.</para>
130 <para>To establish a connection, a program called
131 <application>ksysguardd</application>, that can be started in the following
132 two modes, must be installed on the new host.</para>
134 <variablelist>
135 <varlistentry>
136 <term>daemon mode</term>
137 <listitem>
138 <para>You can start <application>ksysguardd</application> at boot time in
139 <guilabel>Daemon</guilabel> mode by adding <parameter>-d</parameter> as the
140 argument. In this case, you have to select daemon mode at the connection
141 dialog of <application>ksysguard</application>.
142 A disadvantage of this connection type is that you won't be able to kill or
143 renice a process with the <guilabel>Process Controller</guilabel> and
144 the data exchange over network won't be encrypted. As a result, daemon
145 mode is not recommended.</para>
146 </listitem>
147 </varlistentry>
148 <varlistentry>
149 <term>shell mode</term>
150 <listitem>
151 <para>In this mode <application>ksysguardd</application> is started at
152 connecting time by <application>ksysguard</application>. To make that possible,
153 its location needs to be included in your <envar>PATH</envar>.
154 Unfortunately the ssh does not source your <filename>.profile</filename> file,
155 so your regular <envar>PATH</envar> setting will not be available.
156 Instead it uses a default <envar>PATH</envar> like
157 <parameter>/bin:/usr/bin</parameter>.
158 Since it is very likely that &kde; is not installed in these folders you need
159 to create or update a file in your home folder. The file is called
160 <filename>environment</filename> and needs to be in a hidden folder called
161 <filename>.ssh</filename>. See the manual page for
162 <application>ssh</application> for more details. The file needs to contain a
163 line similar to:</para>
165 <screen>
166 <userinput>PATH=/bin:/usr/bin:/opt/kde/bin</userinput>
167 </screen>
169 <para>assuming that <application>ksysguardd</application> can be found under
170 <filename>/opt/kde/bin/ksysguardd</filename>.</para>
172 <tip><para>When using <application>ssh</application> you should make sure that
173 you have your <filename>identity.pub</filename> installed on the remote machine
174 and the host key of the remote machine is already registered on your machine.
175 If you don't set up <filename>identity.pub</filename> correctly, you will be asked
176 for your password every time you start ksysguard.
177 The easiest way to make sure that everything is working is to run <command>ssh <option>remotehost
178 ksysguardd</option></command> in a shell. If you are greeted by
179 <application>ksysguardd</application>, then everything is working correctly
180 and you can type <userinput>quit</userinput> to exit <application>ksysguardd</application>.</para></tip>
181 </listitem>
182 </varlistentry>
183 </variablelist>
185 <note><para>For experts: <application>ksysguardd</application> is a
186 very small program that is only linked against the libc. So it can
187 also be used on machines that do not have a full blown &kde;
188 installed, such as servers. Many major distributions provide a separate
189 <application>ksysguardd</application> package for your convenience.
190 If you choose the custom command option in
191 the host connector you need to specify the complete command to start
192 <application>ksysguardd</application>.</para></note>
194 </sect2>
196 <sect2 id="disconnecting-hosts">
197 <title>Disconnecting hosts</title>
199 <para>To disconnect from a host, select the host in the sensor browser and
200 choose <guimenuitem>Disconnect Host</guimenuitem> from the
201 <guimenu>File</guimenu> menu. If you still have sensors in use, the display
202 frames will be grayed and the displays won't update any longer.</para>
203 </sect2>
204 </sect1>
206 <sect1 id="the-workspace">
207 <title>The Work Space</title>
209 <para>The work space is organized as worksheets. Select
210 <guimenuitem>New Worksheet...</guimenuitem> from the <guimenu>File</guimenu> menu to create a
211 new worksheet. A dialog will appear where you can set the name, the
212 dimension and the update interval of the worksheet. To remove a worksheet
213 again, select
214 <guimenuitem>Close</guimenuitem> from the <guimenu>File</guimenu> menu. Any
215 modifications will be saved to the worksheet file. If a worksheet has
216 never been saved, you will be asked for a file name. Worksheets consist of
217 cells
218 organized as a grid.</para>
220 <para>Each cell can be filled with a display for one or more sensors. You can
221 fill a cell by dragging a sensor from the sensor browser and dropping it over
222 the cell. If there is more than one type of display available for that type
223 of sensor, a popup menu will appear. You can then select which display you
224 prefer to use. Certain types of displays can display more than one sensor. Add more
225 sensors to a display by dragging them over from the sensor browser and dropping
226 them over the already existing display.</para>
228 <para>Worksheets can be configured by clicking <guimenuitem>Configure Worksheet
229 </guimenuitem> at the <guimenu>Edit</guimenu> menu. In the appearing dialog
230 you can set the dimension and the update interval. This update interval is
231 used by all displays of the worksheet, which has the <guilabel>use update
232 interval of worksheet</guilabel> set in its timer configuration dialog.</para>
234 <para>The entry <guimenuitem>Configure Style</guimenuitem> of the
235 <guimenu>Settings</guimenu> menu gives you the possibility to configure the
236 global style attributes and apply them to the current active worksheet.</para>
238 <para>Displays can be configured by clicking with the right mouse button on
239 them. A popup menu appear where you can select whether you want to change the
240 properties of that display, remove it from the worksheet, change its update
241 interval type and value or pause and restart its updating.</para>
243 <sect2 id="signal-plotter">
244 <title>Signal Plotter</title>
246 <para>The signal plotter prints samples of one or more sensors over time. If,
247 several sensors are displayed, the values are piled in different colors. If
248 the display is large enough a grid will be displayed to show the range of the
249 plotted samples. By default, the automatic range mode is active so the minimum
250 and maximum values will be set automatically. Sometimes you want fixed
251 minimum and maximum values. In that case, you can deactivate automatic range
252 mode and set the values in the properties dialog.</para>
253 </sect2>
255 <sect2 id="multimeter">
256 <title>Multimeter</title>
258 <para>The multimeter displays the sensor values as a digital meter. In the
259 properties dialog you can specify a lower and upper limit. If the range
260 is exceeded, the display is colored in the alarm color.</para>
261 </sect2>
263 <sect2 id="process-controller">
264 <title>Process Controller</title>
266 <para>The Process Controller gives you a list of processes on your
267 system. The list can be sorted by each column. Just press the left
268 mouse button at the head of the column. </para>
270 <para>The list shows the following information about each process. Please note
271 that not all properties are available on every operating system.</para>
273 <variablelist>
274 <varlistentry>
275 <term><guilabel>Name</guilabel></term>
276 <listitem><para>The name of the executable that started the process.</para>
277 </listitem>
278 </varlistentry>
280 <varlistentry>
281 <term><guilabel>PID</guilabel></term>
282 <listitem><para>The Process <abbrev>ID</abbrev>. A unique number for each
283 process.</para></listitem>
284 </varlistentry>
286 <varlistentry>
287 <term><guilabel>PPID</guilabel></term>
288 <listitem><para>The Process <abbrev>ID</abbrev> of the process parent.</para>
289 </listitem>
290 </varlistentry>
292 <varlistentry>
293 <term><guilabel>UID</guilabel></term>
294 <listitem><para>The <abbrev>ID</abbrev> of the user that started the
295 process.</para>
296 </listitem>
297 </varlistentry>
299 <varlistentry>
300 <term><guilabel>GID</guilabel></term>
301 <listitem><para>The <abbrev>ID</abbrev> of the group the process
302 belongs to.</para>
303 </listitem>
304 </varlistentry>
306 <varlistentry>
307 <term><guilabel>Status</guilabel></term>
308 <listitem><para>The process status.</para></listitem>
309 </varlistentry>
311 <varlistentry>
312 <term><guilabel>User%</guilabel></term>
313 <listitem>
314 <para>The processor load of the process in user space (in percent).</para>
315 </listitem>
316 </varlistentry>
318 <varlistentry>
319 <term><guilabel>System%</guilabel></term>
320 <listitem>
321 <para>The processor load of the process in system space (in percent).</para>
322 </listitem>
323 </varlistentry>
325 <varlistentry>
326 <term><guilabel>Nice</guilabel></term>
327 <listitem><para>The scheduling priority.</para></listitem>
328 </varlistentry>
330 <varlistentry>
331 <term><guilabel>VmSize</guilabel></term>
332 <listitem><para>The total amount of virtual memory used by the process
333 (in kBytes).</para></listitem>
334 </varlistentry>
336 <varlistentry>
337 <term><guilabel>VmRss</guilabel></term>
338 <listitem><para>The total amount of physical memory used by the process
339 (in kBytes).</para></listitem>
340 </varlistentry>
342 <varlistentry>
343 <term><guilabel>Login</guilabel></term>
344 <listitem><para>The login name of the user that started the process.</para>
345 </listitem>
346 </varlistentry>
348 <varlistentry>
349 <term><guilabel>Command</guilabel></term>
350 <listitem><para>The complete start command of the process.</para></listitem>
351 </varlistentry>
352 </variablelist>
354 <para>Underneath the table you find four buttons which will be described now
355 from left to right.</para>
357 <sect3 id="the-tree-view">
358 <title>The <guibutton>Tree</guibutton> View</title>
360 <para>The tree view has been designed to show the relationships between the
361 running processes. A process that is started by another process is called the
362 child of that process. A tree is an elegant way to show this parent-child
363 relationship. The <emphasis>init</emphasis> process is the ancestor of all
364 processes.</para>
366 <para>If you are not interested in the children of a particular process you can
367 click on the little box to the left of the parent and the subtree will
368 collapse. Another click on that box will unfold the subtree again.</para>
370 </sect3>
372 <sect3 id="the-process-filter">
373 <title>The Process Filter </title>
375 <para>The Process Filter can be used to reduce the number of processes displayed
376 in the table. You can filter out processes you are not interested in. Currently
377 you can display all processes, system processes only, user processes only or
378 your processes only.</para>
380 </sect3>
382 <sect3 id="therefreshbutton">
383 <title>The <guibutton>Refresh</guibutton> Button </title>
385 <para>This button can be used to force an immediate update of the process
386 list.</para>
388 </sect3>
390 <sect3 id="thekillbutton">
391 <title>The <guibutton>Kill</guibutton> Button </title>
393 <para>If you have selected one or more processes you can press the kill button
394 to kill them. A so called <errorcode>SIGKILL</errorcode> is sent to the processes
395 which causes them to
396 terminate immediately. If these applications still have unsaved data this data
397 will be lost. So use this button with care.</para>
399 </sect3>
400 </sect2>
402 <sect2 id="bargraph">
403 <title>BarGraph</title>
405 <para>The bargraph displays the sensor values as dancing bars. In the
406 properties dialog you can specify minimum and maximum values of range and
407 a lower and upper limit. If the range is exceeded, the display is
408 colored in the alarm color.</para>
409 </sect2>
411 <sect2 id="sensorlogger">
412 <title>Sensor Logger</title>
414 <para>The sensor logger does not display any values, but logs them in
415 a file with additional date and time information. For each sensor
416 you can specify a lower and upper limit in the properties dialog.
417 If the range is exceeded, the entry of the sensor table is colored in
418 the alarm color and a <application>knotify</application> event is sent.</para>
419 </sect2>
421 <sect2 id="logfile">
422 <title>Log File</title>
424 <para>The log file monitor displays the content of a file &eg;
425 <filename>/var/log/messages</filename>.
426 In the properties dialog, you can compose a list of regular expressions that
427 will be compared with the content of the file. If one of the expressions match,
428 a <application>knotify</application>
429 event will be sent.
430 </para>
431 </sect2>
433 <sect2 id="listview">
434 <title>List View</title>
436 <para>The listview displays the data of some sensors in the form of a
437 table.</para>
438 </sect2>
440 </sect1>
441 </chapter>
443 <chapter id="multiple-platforms">
444 <title>Configuring <application>ksysguardd</application></title>
446 <para>The graphical front-end is available on any platform that &kde; runs
447 on. The back-end is at the moment available on the following flavors of
448 &UNIX;:</para>
450 <variablelist>
451 <varlistentry>
452 <term>&Linux; 2.x</term>
453 <listitem><para> For <application>ksysguardd</application> to work it
454 is necessary to compile the &Linux; Kernel
455 with the <filename>/proc</filename> File system enabled. This is the default
456 setting and most &Linux; Distributions have it already.</para> </listitem>
457 </varlistentry>
458 <varlistentry>
459 <term>FreeBSD</term>
460 <listitem><para>The <application>ksysguardd</application> program
461 needs to be owned by the <systemitem
462 class="groupname">kmem</systemitem> group and needs to have the setgid
463 bit set.</para></listitem>
464 </varlistentry>
465 <varlistentry>
466 <term>&Solaris;</term>
467 <listitem><para>To be written</para></listitem>
468 </varlistentry>
469 </variablelist>
471 <para>Support for other platforms is in progress. Your help is greatly
472 appreciated.</para>
473 </chapter>
475 <chapter id="credits-and-licenses">
476 <title>Credits and Licenses</title>
478 <para>&ksysguard; is currently developed and maintained by &John.Tapsell;
479 &John.Tapsell.mail;. &ksysguard; is a rewrite of
480 <application>KTop</application>, the &kde; 1.x task manager. Several other people
481 have worked on <application>KTop</application>:</para>
483 <itemizedlist>
484 <listitem><para> A. Sanda <email>alex@darkstar.ping.at</email></para></listitem>
485 <listitem><para> Ralf Mueller <email>ralf@bj-ig.de</email></para></listitem>
486 <listitem><para> &Bernd.Johannes.Wuebben;
487 <email>wuebben@math.cornell.edu</email></para></listitem>
488 <listitem><para> Nicolas Leclercq
489 <email>nicknet@planete.net</email></para></listitem>
490 </itemizedlist>
492 <para>The porting to other platforms than &Linux; was done by:</para>
494 <itemizedlist>
495 <listitem><para> FreeBSD: Hans Petter Bieker
496 <email>zerium@traad.lavvu.no</email></para></listitem>
497 </itemizedlist>
499 <!-- TRANS:CREDIT_FOR_TRANSLATORS -->
500 &underFDL;
501 &underGPL;
503 </chapter>
505 </book>
506 <!--
507 Local Variables:
508 mode: sgml
509 sgml-omittag: nil
510 sgml-shorttag: t
511 End: