在一台配置较低(内存较小)的 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

如果显示为 disabledinactive (dead),说明禁止开机启动已生效。

后续处理建议

  • 内存小于 1GB 的 VPS 不建议开启自动更新服务,可选择手动更新病毒库: bashCopyEditfreshclam
  • 如需要保留 ClamAV 扫描功能,可使用 clamscanclamdscan 进行按需扫描,不启动 freshclam 守护进程。
  • 对于需要长期运行 ClamAV 的场景,推荐将内存升级到至少 2GB,并根据需要调优 ClamAV 配置,例如降低最大扫描文件大小、减少线程等,以减少内存占用。

总结

遇到 VPS 因内存不足而被 clamav-freshclam 卡死的情况,可先禁用开机启动,重启后再手动更新病毒库或根据实际需求配置,既避免影响系统可用性,也保留一定安全防护能力。

Leave a Reply

Your email address will not be published. Required fields are marked *