dcpumon tool, which runs every few minutes from root’s crontab. If the page is blank, check that the cron service is running (systemctl status crond), that root’s crontab still has the dcpumon entry (crontab -l | grep dcpumon), and that the disk is not full. Restore missing cPanel cron entries and files with /scripts/upcp --force.What the page shows
The Daily Process Log lists the processes and accounts that used the most CPU, memory and MySQL time during the day. It is one of the quickest ways to find which account is slowing a server down. The data comes from samples taken by dcpumon. When no samples are recorded, the page is empty.
Step 1: check the cron service
systemctl status crond --no-pager # AlmaLinux, Rocky Linux, CloudLinux
systemctl enable --now crond # start it and keep it enabled
If cron was stopped, every scheduled cPanel task stopped with it, including backups and updates. Start it, then wait 10 to 15 minutes and reload the page.
Step 2: check the dcpumon cron entry
crontab -l | grep -i dcpumon
A line that runs dcpumon every five minutes should appear, for example with */5 * * * *. The exact command depends on your cPanel version. If nothing appears, the entry was removed, often by someone editing root’s crontab by hand. Step 4 restores it.
Step 3: check disk space and logs
df -h /var /usr/local
grep -i dcpumon /var/log/cron | tail -n 5
tail -n 50 /usr/local/cpanel/logs/error_log
A full disk stops dcpumon from saving its data. The cron log shows whether dcpumon ran recently; cPanel’s error log may show why it failed.
Step 4: repair cPanel
A forced update reinstalls cPanel’s files and puts back its standard cron entries:
/scripts/upcp --force
Run it inside screen, because it can take a while. Afterwards, check the crontab again and give dcpumon time to collect new samples. The page fills up over the following hours; past days stay empty.
Step 5: run dcpumon by hand (optional)
To confirm the tool itself works, run the command from the crontab entry by hand as root and check for errors. If it reports a missing file or permission problem, the forced update in Step 4 usually fixes it.
How to read the Daily Process Log
Once data appears, the page lists each user with the share of CPU, memory and MySQL processes they used, averaged over the day. Click a user to see their busiest processes. Look for:
- One account using a large share of CPU every day: often a busy store, a heavy plugin or a bot crawling the site.
- High MySQL use from one account: slow queries or missing database indexes.
- The
nobodyuser near the top: processes run by the web server, which you can trace through the Apache status page.
Compare several days before you act. A single busy day is often just a traffic spike or a backup.
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| Page is blank for every day | cron is stopped or the dcpumon entry is missing | Start crond and run /scripts/upcp –force. |
| Data stops on a certain date | The disk filled up, or crontab was edited | Free disk space and check root’s crontab. |
| Today is empty but older days show data | dcpumon has not collected enough samples yet | Wait an hour and reload the page. |
On CloudLinux servers
CloudLinux collects its own, more detailed statistics per account. In WHM, CloudLinux Manager shows CPU, memory, I/O and entry-process use for each user, and account owners see their own figures in cPanel’s Resource Usage page. See our CloudLinux guide.
Other ways to see what uses resources
- htop shows live CPU and memory use by process and user.
- WHM > Server Status > Apache Status shows the current web requests.
mysqladmin processlistshows the running database queries.
Need help with this?
Need to find out what is slowing your server? Our server management team monitors usage and fixes the cause.
Frequently asked questions
Where is CPU/Memory/MySQL Usage in the new WHM?
It is called Daily Process Log, under Server Status.
Why is the Daily Process Log empty?
dcpumon is not collecting data, usually because cron is stopped, its crontab entry is missing, or the disk is full.
How do I restore cPanel’s cron jobs?
Run /scripts/upcp –force. It reinstalls cPanel’s files and standard cron entries.
Will the page show past days after the fix?
No. Only days on which dcpumon collected data appear.
Can account owners see their own usage?
On CloudLinux servers, yes, in cPanel’s Resource Usage page.
Related guides
- AlmaLinux 9 with cPanel: MySQL 8 to MariaDB 10.11 Guide
- Updated MARCH 2025: How to Configure a Smart Host in Exim
- How cPanel Redis Manager Brings Faster Application Performance to Your Server
- How to Use Redis Manager in cPanel to Boost Website Speed
- How to Use cPanel’s File Manager to Manage Your Website
