Commit | Line | Data |
---|---|---|
94f69966 JP |
1 | TMON - A Monitoring and Testing Tool for Linux kernel thermal subsystem |
2 | ||
3 | Why TMON? | |
4 | ========== | |
5 | Increasingly, Linux is running on thermally constrained devices. The simple | |
6 | thermal relationship between processor and fan has become past for modern | |
7 | computers. | |
8 | ||
9 | As hardware vendors cope with the thermal constraints on their products, more | |
10 | and more sensors are added, new cooling capabilities are introduced. The | |
11 | complexity of the thermal relationship can grow exponentially among cooling | |
12 | devices, zones, sensors, and trip points. They can also change dynamically. | |
13 | ||
14 | To expose such relationship to the userspace, Linux generic thermal layer | |
15 | introduced sysfs entry at /sys/class/thermal with a matrix of symbolic | |
16 | links, trip point bindings, and device instances. To traverse such | |
17 | matrix by hand is not a trivial task. Testing is also difficult in that | |
18 | thermal conditions are often exception cases that hard to reach in | |
19 | normal operations. | |
20 | ||
21 | TMON is conceived as a tool to help visualize, tune, and test the | |
22 | complex thermal subsystem. | |
23 | ||
24 | Files | |
25 | ===== | |
26 | tmon.c : main function for set up and configurations. | |
27 | tui.c : handles ncurses based user interface | |
28 | sysfs.c : access to the generic thermal sysfs | |
29 | pid.c : a proportional-integral-derivative (PID) controller | |
30 | that can be used for thermal relationship training. | |
31 | ||
32 | Requirements | |
33 | ============ | |
34 | Depends on ncurses | |
35 | ||
36 | Build | |
37 | ========= | |
38 | $ make | |
39 | $ sudo ./tmon -h | |
40 | Usage: tmon [OPTION...] | |
41 | -c, --control cooling device in control | |
42 | -d, --daemon run as daemon, no TUI | |
43 | -l, --log log data to /var/tmp/tmon.log | |
44 | -h, --help show this help message | |
45 | -t, --time-interval set time interval for sampling | |
46 | -v, --version show version | |
47 | -g, --debug debug message in syslog | |
48 | ||
49 | 1. For monitoring only: | |
50 | $ sudo ./tmon |