1 .TH TMON 8 2 # SPDX-License-Identifier: GPL-2.0 3 .SH NAME 4 \fBtmon\fP - A monitoring and testing tool for 5 6 .SH SYNOPSIS 7 .ft B 8 .B tmon 9 .RB [ Options ] 10 .br 11 .SH DESCRIPTION 12 \fBtmon \fP can be used to visualize thermal r 13 real-time thermal data; tune 14 and test cooling devices and sensors; collect 15 analysis and plot. \fBtmon\fP must be run as r 16 states via sysfs. 17 .PP 18 \fBFunctions\fP 19 .PP 20 .nf 21 1. Thermal relationships: 22 - show thermal zone information 23 - show cooling device information 24 - show trip point binding within each thermal 25 - show trip point and cooling device instance 26 .PP 27 2. Real time data display 28 - show temperature of all thermal zones w.r.t. 29 - show states of all cooling devices 30 .PP 31 3. Thermal relationship learning and device tu 32 - with a built-in Proportional Integral Deriva 33 controller, user can pair a cooling device to 34 testing the effectiveness and learn about the 35 - allow manual control of cooling device state 36 .PP 37 4. Data logging in /var/tmp/tmon.log 38 - contains thermal configuration data, i.e. co 39 zones, and trip points. Can be used for data 40 debugging. 41 - log real-time thermal data into space separa 42 directly consumed by plotting tools such as R 43 44 .SS Options 45 .PP 46 The \fB-c --control\fP option sets a cooling d 47 of a thermal zone 48 .PP 49 The \fB-d --daemon\fP option runs \fBtmon \fP 50 .PP 51 The \fB-g --debug\fP option allow debug messag 52 .PP 53 The \fB-h --help\fP option shows help message 54 .PP 55 The \fB-l --log\fP option write data to /var/t 56 .PP 57 The \fB-t --time-interval\fP option sets the p 58 .PP 59 The \fB-T --target-temp\fP option sets the ini 60 .PP 61 The \fB-v --version\fP option shows the versio 62 .PP 63 The \fB-z --zone\fP option sets the target the 64 .PP 65 66 .SH FIELD DESCRIPTIONS 67 .nf 68 .PP 69 \fBP \fP passive cooling trip point type 70 \fBA \fP active cooling trip point type (fan) 71 \fBC \fP critical trip point type 72 \fBA \fP hot trip point type 73 \fBkp \fP proportional gain of \fBPID\fP contr 74 \fBki \fP integral gain of \fBPID\fP controlle 75 \fBkd \fP derivative gain of \fBPID\fP control 76 77 .SH REQUIREMENT 78 Build depends on ncurses 79 .PP 80 Runtime depends on window size large enough to 81 devices found on the system. 82 83 .PP 84 85 .SH INTERACTIVE COMMANDS 86 .pp 87 .nf 88 \fBCtrl-C, q/Q\fP stops \fBtmon\fP 89 \fBTAB\fP shows tuning pop up panel, choose a 90 91 .SH EXAMPLES 92 Without any parameters, tmon is in monitoring 93 screen every 1 second. 94 .PP 95 1. For monitoring only: 96 .nf 97 $ sudo ./tmon 98 99 2. Use Processor cooling device to control the 100 $ sudo ./tmon -c Processor -z 0 101 102 3. Use intel_powerclamp(idle injection) coolin 103 $ sudo ./tmon -c intel_powerclamp -z 1 104 105 4. Turn on debug and collect data log at /var/ 106 $ sudo ./tmon -g -l 107 108 For example, the log below shows PID controlle 109 for all cooling devices with "Processor" type 110 can stay below 65 dC. 111 112 #---------- THERMAL DATA LOG STARTED --------- 113 Samples TargetTemp acpitz0 acpitz1 Fan0 114 Fan6 Fan7 Fan8 Fan9 Processor10 Processor11 Pr 115 LCD14 intel_powerclamp15 1 65.0 65 65 0 0 0 0 116 65.0 66 65 0 0 0 0 0 0 0 0 0 0 4 4 4 4 6 0 3 6 117 0 0 4 4 4 4 6 0 4 65.0 53 53 0 0 0 0 0 0 0 0 0 118 5 65.0 52 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 119 6 65.0 53 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 120 7 65.0 68 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 121 8 65.0 68 68 0 0 0 0 0 0 0 0 0 0 5 5 5 5 6 0 122 9 65.0 68 68 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 0 123 10 65.0 67 67 0 0 0 0 0 0 0 0 0 0 7 7 7 7 6 0 124 11 65.0 67 67 0 0 0 0 0 0 0 0 0 0 8 8 8 8 6 0 125 12 65.0 67 67 0 0 0 0 0 0 0 0 0 0 8 8 8 8 6 0 126 13 65.0 67 67 0 0 0 0 0 0 0 0 0 0 9 9 9 9 6 0 127 14 65.0 66 66 0 0 0 0 0 0 0 0 0 0 10 10 10 10 128 15 65.0 66 67 0 0 0 0 0 0 0 0 0 0 10 10 10 10 129 16 65.0 66 66 0 0 0 0 0 0 0 0 0 0 11 11 11 11 130 17 65.0 66 66 0 0 0 0 0 0 0 0 0 0 11 11 11 11 131 18 65.0 64 61 0 0 0 0 0 0 0 0 0 0 11 11 11 11 132 19 65.0 60 59 0 0 0 0 0 0 0 0 0 0 12 12 12 12 133 134 Data can be read directly into an array by an 135 136 #!/usr/bin/Rscript 137 tdata <- read.table("/var/tmp/tmon.log", heade 138 attach(tdata) 139 jpeg("tmon.jpg") 140 X11() 141 g_range <- range(0, intel_powerclamp15, Target 142 plot( Samples, intel_powerclamp15, col="blue", 143 par(new=TRUE) 144 lines(TargetTemp, type="o", pch=22, lty=2, col 145 dev.off()
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.