0001 TMON - A Monitoring and Testing Tool for Linux kernel thermal subsystem
0002
0003 Why TMON?
0004 ==========
0005 Increasingly, Linux is running on thermally constrained devices. The simple
0006 thermal relationship between processor and fan has become past for modern
0007 computers.
0008
0009 As hardware vendors cope with the thermal constraints on their products, more
0010 and more sensors are added, new cooling capabilities are introduced. The
0011 complexity of the thermal relationship can grow exponentially among cooling
0012 devices, zones, sensors, and trip points. They can also change dynamically.
0013
0014 To expose such relationship to the userspace, Linux generic thermal layer
0015 introduced sysfs entry at /sys/class/thermal with a matrix of symbolic
0016 links, trip point bindings, and device instances. To traverse such
0017 matrix by hand is not a trivial task. Testing is also difficult in that
0018 thermal conditions are often exception cases that hard to reach in
0019 normal operations.
0020
0021 TMON is conceived as a tool to help visualize, tune, and test the
0022 complex thermal subsystem.
0023
0024 Files
0025 =====
0026 tmon.c : main function for set up and configurations.
0027 tui.c : handles ncurses based user interface
0028 sysfs.c : access to the generic thermal sysfs
0029 pid.c : a proportional-integral-derivative (PID) controller
0030 that can be used for thermal relationship training.
0031
0032 Requirements
0033 ============
0034 Depends on ncurses
0035
0036 Build
0037 =========
0038 $ make
0039 $ sudo ./tmon -h
0040 Usage: tmon [OPTION...]
0041 -c, --control cooling device in control
0042 -d, --daemon run as daemon, no TUI
0043 -l, --log log data to /var/tmp/tmon.log
0044 -h, --help show this help message
0045 -t, --time-interval set time interval for sampling
0046 -v, --version show version
0047 -g, --debug debug message in syslog
0048
0049 1. For monitoring only:
0050 $ sudo ./tmon