Gentoo Wiki


double monitoring screenshot
double monitoring screenshot



GKRellM is a powerful graphical system monitor. It integrates in a compact view a lot of customizable informations, like sensors, CPU/memory load, filesystems usage, network traffic and so on. Every feature comes with customizable alarms and with the opportunity to run some personal script (send a mail, stop a process, power off, etc) when critical situations occur.
A lot of official and unofficial plugins are available, for special tasks and fun. Many plugins are in the portage tree and many more are listed on the developer site.

Very powerful, GKrellM comes with a daemon that can be ran on a remote machine (i.e. a server deep in a cellar or far in the world) to monitor it from your wide-screen box.

If you want to try another program similar to GKrellM you can read Conky. Many users love Conky, because the textual configuration; but Conky cannot monitor remote (and therefore multiple) machines.


GKrellM comes with some interesting USE flags.

X is required if you are installing GKrellM in your monitoring box; it is not necessary if you are installing GKrellM in your monitored machine. lm_sensors is very useful as graphical interface and alarm manager for hardware sensors.

Execute in your flavour:

# echo "app-admin/gkrellm X lm_sensors" >> /etc/portage/package.use


# emerge -av app-admin/gkrellm


If you emerged GKrellm with the lm_sensors USE flag, you have to follow the Lm sensors guide before, to activate and tune up your motherboard sensors. Similarly, if you emerged with the hddtemp USE flag, you should read the hddtemp guide before.

There are many configuration options available via graphical interface, so they're very easy to find and understand. Hopefully, you don't need any special explanation.
Be sure to note the detailed filesystem tool, that can be a graphical replacement of the df command and a notification system.

Every monitor comes with a warning level and an alarm level. The built-in warning and alarm task is a weak animation, but you can run (and repeat) a command to take an action against the problem.

Remote monitoring

If you want to monitor a remote machine from a local machine, you have to configure/run the gkrellmd daemon on the remote machine.
The configuration is quite easy and the default values will work. If you are in an untrusted network, limiting the allowed client is a good idea.

File: /etc/gkrellmd.conf
# Sample config file for the GKrellM server gkrellmd

# The server update frequency is independent of and should be less than
# the client update frequency.  Values may be from 1 to 10 and should be
# smaller values to reduce network traffic.
update-hz 3

# Limit number of simultaneous clients allowed to connect.
max-clients 2

# Specify a specific network interface to listen on for connections.
# By default gkrellmd listens on all available network interfaces.

# Specify the port to listen on for connections.
port 19150

# List of hosts allowed to connect.  If no hosts are specified in a
# gkrellmd.conf file or on the command line, all hosts will be allowed.
#allow-host     localhost
#allow-host     ::1
#allow-host     192.168.0.*

# Drop privileges after startup (you must start gkrellmd as root to do it).
user    gkrellmd
group   gkrellmd

# Create a PID file for the running gkrellmd.  Default is no PID file.
#pidfile /var/run/

# Run in background and detach from the controlling terminal

# Time interval between checks for various monitors.  If nfs-interval
# is <= 0 then gkrellmd will not read data for nfs file system types.
#fs-interval 2
#nfs-interval 16

# The Internet monitor defaults to reading tcp connections once per second.
# However, for Linux SMP kernels where reading /proc/net/tcp causes high
# cpu usage, the inet-interval may be set to 1-20 seconds to slow down
# /proc/net/tcp reads.  Or set it to 0 to totally disable the Inet monitor.
# Requires at least gkrellmd version 2.1.8.
#inet-interval 1

# If the mbmon daemon is started before gkrellmd with this command:
#     mbmon -r -P port-number
# (the "-r" mbmon tag mode is required) then gkrellmd will monitor mbmon
# reported sensors if this is uncommented and the port-numbers match.
#mbmon-port port-number

# Configure gkrellm clients to disconnect from a gkrellmd server if
# there is an io-timeout seconds interval where the client receives no input
# from the server.  Use this for conditions where gkrellmd may be
# ungracefully terminated such that socket connections are not closed.
# Minimum is 2 (less than 2 for no I/O disconnecting and is the default).
# Requires at least 2.1.8 versions of both gkrellmd and gkrellm.
#io-timeout 5

# Configure gkrellm clients to attempt automatic reconnects to a
# gkrellmd server every reconnect-timeout seconds after a disconnected
# state is detected.  Disconnected states are created by normal gkrellmd
# shutdowns or by an expiring io-timeout.
# Minimum is 2 (less than 2 for no automatic reconnecting and is the default).
# Requires at least 2.1.8 versions of both gkrellmd and gkrellm.
#reconnect-timeout 5

# Server side local mailbox counts can be sent to gkrellm clients.  List here
# paths to mbox, MH mail, or Maildir style mailboxes.
# Requires at least 2.1.11 versions of both gkrellmd and gkrellm.
#mailbox /var/mail/bill
#mailbox ~/Mail/inbox

# List of plugins to enable.  Use "gkrellmd -plist" to view a list of all
# available plugins.  Use "gkrellmd -plog" to output a log of the plugin
# install process (note: the detach option is ignored when using -plog).
#plugin-enable gkrelltopd
#plugin-enable gkrellmwho2d

# Configure gkrellmd to send the connect time for a network interface
# to all clients to be displayed in the client gkrellm timer button
# monitor display.  If this is done, the client gkrellm timer button can
# still execute commands on the client, but the button will not affect the
# timer display.  If you want the client timer button to execute commands
# on the server, your timer button commands can use ssh.
# So set this if your server box has a ppp or ippp connection and you
# want to monitor its connect time.
#net-timer ppp0

Once done, start the daemon:

# /etc/init.d/gkrellmd start

If you want the daemon starts automatically when the machine starts:

# rc-update add gkrellmd default

To monitor the remote system, just call the GKrellM program with the -s option from your local box:

# gkrellm -s remotemachinename

See also

The developer page
Browse some screenshots at muhri site
A couple of GKrellM/Screenshots
Check the Conky alternative at Conky

Retrieved from ""

Last modified: Fri, 05 Sep 2008 08:25:00 +0000 Hits: 2,281