A cPanel server runs many services: web server, mail, FTP, DNS, databases. WHM's Service Manager decides which run and which are watched by chkservd, cPanel's monitor that restarts failed services and emails you about them.
MdmHost monitors and manages services on its hosting plans. This guide is for administrators of their own cPanel server.
Before you start
- Root access to WHM and SSH.
- Your contact email set in WHM → Server Configuration → Basic WebHost Manager Setup so alerts reach you (see basic setup).
Service Manager
- Go to WHM → Service Configuration → Service Manager.
- Each service has two boxes: Enabled (runs) and Monitor (watched by chkservd).
- Disable services you do not use, for example the FTP server if customers use SFTP only, or a DNS server if DNS is hosted elsewhere.
- Click Save.
Warning: Disabling the DNS server (named/PowerDNS) breaks every domain that uses this server's nameservers. Check before switching it off.
Restart a service in WHM
Go to WHM → Restart Services and choose the service, for example HTTP Server, Mail Server (Exim), IMAP Server, SQL Server or DNS Server. Confirm and watch the output.
Restart from SSH
cPanel provides restart scripts that also handle dependencies:
/usr/local/cpanel/scripts/restartsrv_httpd
/usr/local/cpanel/scripts/restartsrv_exim
/usr/local/cpanel/scripts/restartsrv_mysql
/usr/local/cpanel/scripts/restartsrv_dovecotAdd --status to check a service without restarting it. On LiteSpeed servers, the HTTP restart restarts LiteSpeed (see LiteSpeed on cPanel).
chkservd alerts
- When a monitored service fails, chkservd tries to restart it and sends a notification.
- Repeated alerts mean a real problem: check the service log, for example
/var/log/exim_mainlog,/var/log/messagesor the MySQL error log. - Configure notification types in WHM → Server Contacts → Contact Manager.
Tip: Out-of-memory kills are a common cause of services dying. Check dmesg | grep -i kill and consider CloudLinux limits so one account cannot exhaust RAM.
Troubleshooting
A service restarts but fails again
Look at the service's log for configuration errors, a full disk (df -h) or exhausted inodes.
MySQL will not start
Check disk space and the error log in /var/lib/mysql/. Do not delete InnoDB files; restore from backup if tables are corrupted.
For server-wide settings that affect services, see Tweak Settings.
Frequently asked questions
Should every service be monitored?
Monitor every service you enable. Unmonitored services fail silently until customers complain.
Does restarting the web server drop visitors?
A graceful restart lets current requests finish. Avoid full restarts during peak hours.
Where can I see service status quickly?
WHM → Server Status → Service Status shows each service as up or down.
How do I see why a service failed?
Run systemctl status SERVICE and journalctl -u SERVICE --since "1 hour ago". The cPanel restart scripts also print the last error lines.
Can I schedule restarts?
Scheduled restarts usually hide problems rather than fix them. Find the cause in the logs instead.
