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