CPUAlert Personal 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.
CPUAlert Personal 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 Personal is designed for simple server and workstation monitoring where sustained high/low CPU or memory usage needs fast notification.
| File | Description |
|---|---|
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.curl available on modern systems.
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: 5.1 COMMAND: msedgewebview2.exe TOP2- PID: 37700 %CPU: 5.0 COMMAND: CrossDeviceService.exe TOP3- PID: 27340 %CPU: 3.1 COMMAND: explorer.exe TOP4- PID: 3384 %CPU: 2.9 COMMAND: chrome.exe TOP5- PID: 31372 %CPU: 2.8 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 command for Email, Microsoft Teams, and Telegram delivery.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.