1TMON - A Monitoring and Testing Tool for Linux kernel thermal subsystem 2 3Why TMON? 4========== 5Increasingly, Linux is running on thermally constrained devices. The simple 6thermal relationship between processor and fan has become past for modern 7computers. 8 9As hardware vendors cope with the thermal constraints on their products, more 10and more sensors are added, new cooling capabilities are introduced. The 11complexity of the thermal relationship can grow exponentially among cooling 12devices, zones, sensors, and trip points. They can also change dynamically. 13 14To expose such relationship to the userspace, Linux generic thermal layer 15introduced sysfs entry at /sys/class/thermal with a matrix of symbolic 16links, trip point bindings, and device instances. To traverse such 17matrix by hand is not a trivial task. Testing is also difficult in that 18thermal conditions are often exception cases that hard to reach in 19normal operations. 20 21TMON is conceived as a tool to help visualize, tune, and test the 22complex thermal subsystem. 23 24Files 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 32Requirements 33============ 34Depends on ncurses 35 36Build 37========= 38$ make 39$ sudo ./tmon -h 40Usage: 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 491. For monitoring only: 50$ sudo ./tmon 51