51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| TMON - A Monitoring and Testing Tool for Linux kernel thermal subsystem
 | |
| 
 | |
| Why TMON?
 | |
| ==========
 | |
| Increasingly, Linux is running on thermally constrained devices. The simple
 | |
| thermal relationship between processor and fan has become past for modern
 | |
| computers.
 | |
| 
 | |
| As hardware vendors cope with the thermal constraints on their products, more
 | |
| and more sensors are added, new cooling capabilities are introduced. The
 | |
| complexity of the thermal relationship can grow exponentially among cooling
 | |
| devices, zones, sensors, and trip points. They can also change dynamically.
 | |
| 
 | |
| To expose such relationship to the userspace, Linux generic thermal layer
 | |
| introduced sysfs entry at /sys/class/thermal with a matrix of symbolic
 | |
| links, trip point bindings, and device instances. To traverse such
 | |
| matrix by hand is not a trivial task. Testing is also difficult in that
 | |
| thermal conditions are often exception cases that hard to reach in
 | |
| normal operations.
 | |
| 
 | |
| TMON is conceived as a tool to help visualize, tune, and test the
 | |
| complex thermal subsystem.
 | |
| 
 | |
| Files
 | |
| =====
 | |
| 	tmon.c : main function for set up and configurations.
 | |
| 	tui.c : handles ncurses based user interface
 | |
| 	sysfs.c : access to the generic thermal sysfs
 | |
| 	pid.c : a proportional-integral-derivative (PID) controller
 | |
| 	that can be used for thermal relationship training.
 | |
| 
 | |
| Requirements
 | |
| ============
 | |
| Depends on ncurses
 | |
| 
 | |
| Build
 | |
| =========
 | |
| $ make
 | |
| $ sudo ./tmon -h
 | |
| Usage: tmon [OPTION...]
 | |
|   -c, --control         cooling device in control
 | |
|   -d, --daemon          run as daemon, no TUI
 | |
|   -l, --log             log data to /var/tmp/tmon.log
 | |
|   -h, --help            show this help message
 | |
|   -t, --time-interval   set time interval for sampling
 | |
|   -v, --version         show version
 | |
|   -g, --debug           debug message in syslog
 | |
| 
 | |
| 1. For monitoring only:
 | |
| $ sudo ./tmon
 |