You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2 t3.micro实例每隔数小时无响应 求排查建议

排查建议

1. 优先排查内存资源耗尽问题

t3.micro实例仅含1GB内存,WordPress+Apache+MySQL的组合极易因内存占满触发系统OOM Killer(内存不足杀手),强制终止Apache进程导致站点失联。

  • 验证OOM触发记录:执行 grep -i "out of memory" /var/log/syslog,若出现类似Out of memory: Killed process XXXX (apache2)的条目,即可确认。
  • 临时缓解:确认EC2实例的突发CPU信用已启用(默认开启),避免CPU资源耗尽间接加剧内存压力;长期建议升级实例规格至t3.small(2GB内存)。
  • 内存优化措施:
    • 安装WordPress缓存插件(如WP Super Cache、LiteSpeed Cache),减少动态请求对内存的消耗。
    • 禁用未使用的插件/主题,尤其是资源占用高的工具类插件。
    • 调整MySQL配置:在my.cnf中将innodb_buffer_pool_size设为256MB左右,降低数据库内存占用。

2. 调整Apache prefork进程配置

日志中多次出现Apache启动/关闭记录,prefork模式下进程数过高会快速耗尽内存:

  • 查看当前配置:执行 cat /etc/apache2/mods-available/mpm_prefork.conf,重点关注MaxRequestWorkers参数(默认值可能超出t3.micro承载能力)。
  • 修改配置:将MaxRequestWorkers降至50以内,同步调整ServerLimit,示例配置:
    <IfModule mpm_prefork_module>
        StartServers             5
        MinSpareServers          5
        MaxSpareServers         10
        MaxRequestWorkers       40
        MaxConnectionsPerChild  1000
    </IfModule>
    
  • 重启Apache生效:sudo systemctl restart apache2

3. 修复邮件服务缺失问题

日志中出现sh: 1: /usr/sbin/sendmail: not found,WordPress表单提交时调用sendmail失败可能导致请求阻塞,积累后拖垮服务:

  • 安装sendmail:执行 sudo apt update && sudo apt install sendmail,完成后重启Apache。
  • 替代方案:使用WP Mail SMTP插件,配置第三方邮箱(如Gmail、企业邮)的SMTP服务,绕过本地sendmail依赖,同时提升邮件送达率。

4. 处理Elementor Pro的PHP警告

虽然PHP警告本身不会直接导致崩溃,但存在潜在代码逻辑问题,可能引发内存泄漏或请求异常:

  • 将Elementor Pro升级至最新版本,官方通常会修复这类数组键未定义的已知问题。
  • 临时禁用Elementor Pro,观察站点是否仍出现崩溃,排除插件导致的异常。

5. 排查系统/平台层面的终止事件

  • 查看SIGTERM信号来源:执行 grep -i "sigterm" /var/log/syslog,确认Apache的终止信号是来自系统OOM、手动操作还是定时任务。
  • 检查EC2实例历史:在EC2控制台「实例历史」中查看是否有AWS自动重启实例的记录(如状态检查失败触发的自动恢复)。
  • 排查定时任务:执行 crontab -l,确认是否有定时脚本在终止Apache进程。

内容的提问来源于stack exchange,提问作者Roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 08:39:47