在一台配置较低(内存较小)的 VPS 上,发现系统开机后非常卡顿,几乎无法操作。通过排查,发现 ClamAV 的自动更新服务 clamav-freshclam 会在开机启动后占用大量内存,导致系统资源被耗尽,响应变慢,甚至出现 “Transport endpoint is not connected” 等异常错误。
报错信息
shellCopyEditFailed to stop clamav-freshclam.service: Transport endpoint is not connected
See system logs and 'systemctl status clamav-freshclam.service' for details.
原因分析
clamav-freshclam是 ClamAV 的病毒库自动更新守护进程,会常驻后台并定期拉取更新。- 在内存不足或系统负载较高时,该进程会大量消耗内存,触发系统卡死或无法响应管理命令。
临时处理方案
在系统还能有限操作时,立即执行以下步骤,避免下次开机再次启动该服务:
bashCopyEditsystemctl disable clamav-freshclam.service
systemctl stop clamav-freshclam.service
如果系统已经严重卡死,仍可先执行 disable 命令(只要有一丝响应),然后耐心等待系统缓慢执行完成,再重启服务器。
当命令无法执行时,可考虑通过 VPS 管理后台(控制台、面板)强制重启,随后再进行后续修复。
重启后确认
系统重启完成后,确认服务状态:
bashCopyEditsystemctl status clamav-freshclam.service
如果显示为 disabled 且 inactive (dead),说明禁止开机启动已生效。
后续处理建议
- 内存小于 1GB 的 VPS 不建议开启自动更新服务,可选择手动更新病毒库: bashCopyEdit
freshclam - 如需要保留 ClamAV 扫描功能,可使用
clamscan或clamdscan进行按需扫描,不启动freshclam守护进程。 - 对于需要长期运行 ClamAV 的场景,推荐将内存升级到至少 2GB,并根据需要调优 ClamAV 配置,例如降低最大扫描文件大小、减少线程等,以减少内存占用。
总结
遇到 VPS 因内存不足而被 clamav-freshclam 卡死的情况,可先禁用开机启动,重启后再手动更新病毒库或根据实际需求配置,既避免影响系统可用性,也保留一定安全防护能力。