CPUAlert Personal

CPUAlert Personal watches system CPU and RAM usage, sends Email and Telegram alerts after consecutive High / Low usage checks, and sends recovery messages when usage returns to normal. Simple setup with offline license. No installation required. Edit configuration files and run it in ONE minute.

Overview

Offline License CPU Monitor Memory Monitor Email Alert Telegram Alert IamAlive

CPUAlert Personal is designed for simple server and workstation monitoring where sustained high/low CPU or memory usage needs fast notification.

Recommended for Windows/Linux servers, SQL servers, web servers, remote desktops, branch office PCs, and always-on systems that need simple resource monitoring.

Files Included

FileDescription
cpualertMain monitoring program.
license.datYour offline license file.
cpualert_setup.txtCPU and memory monitoring settings.
cpualert_email.txtSMTP and Telegram settings.
cpualert_README.htmThis readme file.
cpualert_log.txtRuntime log file created by the program.
This package does not include curl.
CPUAlert Personal uses the built-in curl available on modern systems.

Quick Start

  1. Unzip and copy all files into one folder.
  2. Make sure curl is available on this system.
  3. Edit cpualert_setup.txt to define thresholds and intervals.
  4. Edit cpualert_email.txt to define your SMTP and Telegram settings.
  5. Run cpualert -check first to validate config format, then run cpualert -test to confirm Email and Telegram delivery before enabling background mode.
  6. Place your valid license.dat in the same folder.
  7. Open Command Prompt in this folder and run cpualert.
curl --version
cpualert
cpualert -check
cpualert -test
cpualert -start
cpualert -status
cpualert -stop
cpualert -licenseinfo
cpualert -probe
Configuration format: key : "value"
Use : as separator. = is not supported by the recommended config standard.

Setup Configuration

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

ParameterDescription
hostidYour label shown in alerts and logs.
intervalCheck interval in seconds.
cpuhighthresholdCPU high usage threshold percentage.
cpuhighnumNumber of consecutive high CPU checks before sending a CPU alert.
memhighthresholdMemory high usage threshold percentage.
memhighnumNumber of consecutive high memory checks before sending a memory alert.
cpulowthresholdCPU low usage threshold percentage.
cpulownumNumber of consecutive low CPU checks before sending a CPU alert.
memlowthresholdMemory low usage threshold percentage.
memlownumNumber of consecutive low memory checks before sending a memory alert.

Email and Telegram Configuration

Edit cpualert_email.txt.

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"
token : "your telegram bot token"
chat_id : "-123456789(telegram group chat id)"

Parameter Description

ParameterDescription
serverSMTP server and port. Example: smtp://smtp.gmail.com:587
emailSMTP login account.
passwordSMTP password or app password. The program can auto-convert it to encrypted format.
fromSender email address.
toMain alert recipients.
iamaliveDaily keep-alive recipient. Email to let you know program is up and running at midnight.
tokenTelegram bot token. The program can auto-convert it to encrypted format.
chat_idTelegram chat ID or group ID.
Gmail with App Password is recommended because it is easy to set up, fast, and reliable for sending alert emails.

License

CPUAlert Personal uses an offline local license file named license.dat.

cpualert -probe > probe.txt

Send the generated probe.txt to us. A matching license.dat will be issued for your machine.

cpualert -licenseinfo

This command displays current license mode, customer, expire date, and machine matching result.

Alert Behavior

  • CPU and MEMORY alerts are based on consecutive high/low checks, not a single spike.
  • Example: if cpuhighthreshold : "85" and cpuhighnum : "3", CPU usage must stay at or above 85% for 3 consecutive checks before an alert is sent.
  • Example: if memlowthreshold : "50" and memlownum : "30", MEMORY usage must stay at or below 50% for 30 consecutive checks before an alert is sent.
  • After a HIGH/LOW alert is sent, repeated HIGH/LOW alerts are not sent again and again while the condition stays high/low.
  • When the value goes back below threshold, a RECOVERY alert is sent.
  • Midnight IamAlive can be sent to confirm the program is still running.
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 ...
Sending Telegram alert ...

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 ...
Sending Telegram alert ...
Wait 30 seconds for next time check .....
CPU Usage >= 85% Still HIGH (alert already sent) 
MEMORY Usage >= 85% Still HIGH (alert already sent)

Trial Mode Limits

ItemTrial Limit
Email alerts2 per day
Telegram alerts2 per day
IamAlive1 per day
Licensed mode removes the above Trial limits.

Command Reference

CommandDescription
cpualertRun in foreground mode.
cpualert -startStart in background mode.
cpualert -stopStop background process.
cpualert -statusCheck whether the monitor is running.
cpualert -checkValidate config file format. Use this first to catch = and missing keys.
cpualert -testSend a test Email and Telegram alert to verify configuration.
cpualert -probePrint machine probe information.
cpualert -licenseinfoShow current license status.
cpualert -sSilent mode.
cpualert -h / cpualert --helpShow command help and usage summary.

Recommended command flow: edit config, run cpualert -check and cpualert -test, then use cpualert -start for background monitoring.

Recommended Deployment

  • Install in a fixed folder such as CPUAlert.
  • Keep cpualert, license.dat, and config files in the same folder.
  • CPUAlert Personal uses the built-in Windows curl command for Email and Telegram delivery.
  • Use a stable SMTP account.
  • Test with lower thresholds first to verify Email and Telegram alerts are working correctly.

Troubleshooting

No Email Alert

  • Check SMTP server, account, password, and firewall rules.
  • Confirm Windows built-in curl is available by running curl --version.
  • Review cpualert_log.txt.
  • Check console output for Email command rc=0 or non-zero return code.

No Telegram Alert

  • Check token and chat_id.
  • Ensure the bot has permission to message the target chat or group.
  • Confirm Windows built-in curl is available by running curl --version.
  • Check console output for Telegram command rc=0 or non-zero return code.

Alert Sent Too Early

  • Check cpuhighnum and memhighnum.
  • These values mean consecutive high checks, not total checks since startup.

Still in Trial Mode

  • Confirm license.dat is in the same folder as cpualert.
  • Run cpualert -licenseinfo to check the reason.

curl Not Found

  • This package does not include curl.
  • Run curl --version in Command Prompt.
  • If curl is not available, use a Windows/Linux version that includes built-in curl.

Purchase

To purchase or renew your license, please visit:
https://www.smartbooth.com/purchase_lic.htm

To download
Windows Version Linux Version