CPUAlert watches system CPU and RAM usage, sends Email, Microsoft Teams, and Telegram alerts after consecutive High / Low usage checks, alert includeing TOP1-TOP5 process detection, and sends recovery messages when usage returns to normal. Microsoft Teams notification is supported for modern IT operations. No installation required. Edit configuration files and run it in 1 minute. Windows and Linux versions available.
CPUAlert uses an offline local license file named
license.dat.
probe.txt → Purchase License →
Send probe.txt → Receive license.dat → Run production monitoring
cpualert -probe > probe.txt
This command generates the machine information required for license creation.
To purchase or renew your license, please visit:
https://www.smartbooth.com/purchase_lic.htm
Email your generated probe.txt to:
A matching license.dat will then be prepared for your machine.
cpualert -licenseinfo
This command displays current license mode, customer, expire date, and machine matching result.
Download the correct package for your operating system:
CPUAlert is designed for simple server and workstation monitoring where sustained high/low CPU or memory usage needs fast notification.
| File | Description |
|---|---|
cpualert.exe / cpualert | Main monitoring program. |
license.dat | License file. You will receive this after purchasing a license. |
cpualert_setup.txt | CPU and memory monitoring settings. |
cpualert_email.txt | SMTP, Microsoft Teams webhook, and Telegram settings. |
cpualert_readme.html | This readme file. |
cpualert_log.txt | Runtime log file created by the program. |
curl is available on this system.cpualert_setup.txt to define thresholds and intervals.cpualert_email.txt to define your SMTP, Microsoft Teams webhook, and Telegram settings.cpualert -check first to validate config format, then run cpualert -test to confirm Email, Microsoft Teams, and Telegram delivery before enabling background mode.license.dat in the same folder.cpualert.curl --version cpualert cpualert -check cpualert -test cpualert -start cpualert -status cpualert -stop cpualert -licenseinfo cpualert -probe
key : "value": as separator. = is not supported by the recommended config standard.
Edit cpualert_setup.txt.
hostid : "192.168.1.2 MYSQL DB" interval : "5" cpuhighthreshold : "85" cpuhighnum : "3" memhighthreshold : "85" memhighnum : "3" cpulowthreshold : "15" cpulownum : "30" memlowthreshold : "20" memlownum : "50"
| Parameter | Description |
|---|---|
hostid | Your label shown in alerts and logs. |
interval | Check interval in seconds. |
cpuhighthreshold | CPU high usage threshold percentage. |
cpuhighnum | Number of consecutive high CPU checks before sending a CPU alert. |
memhighthreshold | Memory high usage threshold percentage. |
memhighnum | Number of consecutive high memory checks before sending a memory alert. |
cpulowthreshold | CPU low usage threshold percentage. |
cpulownum | Number of consecutive low CPU checks before sending a CPU alert. |
memlowthreshold | Memory low usage threshold percentage. |
memlownum | Number of consecutive low memory checks before sending a memory alert. |
Edit cpualert_email.txt.
* This is the configuration file for Email, Microsoft Teams, and Telegram alerts. *** Email alert setting server : "smtp://smtp.gmail.com:587" email : "your@gmail.com" password : "your_app_password" from : "your@gmail.com" to : "admin1@hotmail.com,admin2@yahoo.com" iamalive : "admin1@hotmail.com" *** Microsoft Teams notification. Remove * to enable. *teams_webhook : "https://your-power-automate-webhook-url" *** Telegram notification. Remove * to enable. *token : "your telegram bot token" *chat_id : "-123456789(telegram group chat id)"
teams_webhook in cpualert_email.txt.cpualert -check to validate the file format.cpualert -test to verify Email, Microsoft Teams, and Telegram delivery.api-version=1, sv=1.0, and sig=....
Keep the full URL on one line inside double quotes.
| Parameter | Description |
|---|---|
server | SMTP server and port. Example: smtp://smtp.gmail.com:587 |
email | SMTP login account. |
password | SMTP password or app password. The program can auto-convert it to encrypted format. |
from | Sender email address. |
to | Main alert recipients. |
iamalive | Daily keep-alive recipient. IamAlive is sent by Email at midnight. |
teams_webhook | Microsoft Teams / Power Automate webhook URL. Leave blank or mark with * if not used. |
token | Telegram bot token. The program can auto-convert it to encrypted format. |
chat_id | Telegram chat ID or group ID. |
cpuhighthreshold : "85" and cpuhighnum : "3", CPU usage must stay at or above 85% for 3 consecutive checks before an alert is sent.memlowthreshold : "50" and memlownum : "30", MEMORY usage must stay at or below 50% for 30 consecutive checks before an alert is sent.CPU Usage >= 85% count [1] of [3] CPU Usage >= 85% count [2] of [3] CPU Usage >= 85% count [3] of [3] TOP1 CPU usage : PID: 3148 CPU_TIME: 3202.6 sec COMMAND: msedgewebview2.exe TOP2- PID: 37700 CPU_TIME: 327.5 sec COMMAND: CrossDeviceService.exe TOP3- PID: 27340 CPU_TIME: 157.6 sec COMMAND: explorer.exe TOP4- PID: 3384 CPU_TIME: 145.8 sec COMMAND: chrome.exe TOP5- PID: 31372 CPU_TIME: 139.5 sec COMMAND: devenv.exe Sending email alert ... Email command rc=0 Sending Microsoft Teams alert ... Teams command rc=0 Sending Telegram alert ... Telegram command rc=0 MEMORY Usage >= 85% count [1] of [3] MEMORY Usage >= 85% count [2] of [3] MEMORY Usage >= 85% count [3] of [3] TOP1 MEM usage : PID: 3148 %MEM: 5.1 COMMAND: msedgewebview2.exe TOP2- PID: 27340 %MEM: 3.1 COMMAND: explorer.exe TOP3- PID: 134516 %MEM: 3.0 COMMAND: Photos.exe TOP4- PID: 141976 %MEM: 1.9 COMMAND: Photos.exe TOP5- PID: 37700 %MEM: 1.8 COMMAND: CrossDeviceService.exe Sending email alert ... Email command rc=0 Sending Microsoft Teams alert ... Teams command rc=0 Sending Telegram alert ... Telegram command rc=0 Wait 30 seconds for next time check ..... CPU Usage >= 85% Still HIGH (alert already sent) MEMORY Usage >= 85% Still HIGH (alert already sent)
| Item | Trial Limit |
|---|---|
| Email alerts | 2 per day |
| Microsoft Teams alerts | 2 per day |
| Telegram alerts | 2 per day |
| IamAlive | 1 per day |
| Command | Description |
|---|---|
cpualert | Run in foreground mode. |
cpualert -start | Start in background mode. |
cpualert -stop | Stop background process. |
cpualert -status | Check whether the monitor is running. |
cpualert -check | Validate config file format. Use this first to catch = and missing keys. |
cpualert -test | Send test Email, Microsoft Teams, and Telegram alerts to verify configuration. |
cpualert -probe | Print machine probe information. |
cpualert -licenseinfo | Show current license status. |
cpualert -s | Silent mode. |
cpualert -h / cpualert --help | Show command help and usage summary. |
Recommended command flow: edit config, run cpualert -check and cpualert -test, then use cpualert -start for background monitoring.
CPUAlert.cpualert, license.dat, and config files in the same folder.curl is available by running curl --version.cpualert_log.txt.Email command rc=0 or non-zero return code.token and chat_id.curl is available by running curl --version.Telegram command rc=0 or non-zero return code.teams_webhook in cpualert_email.txt.curl is available by running curl --version.cpualert -test and check console output for Teams command rc=0.cpuhighnum, memhighnum, cpulownum, and memlownum.license.dat is in the same folder as cpualert.cpualert -licenseinfo to check the reason.curl.curl --version in Command Prompt or terminal.