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

在EC2服务器构建Angular项目突然变慢实例冻结该如何排查

排查方向

1. 系统资源占用排查

  • 排查CPU/内存占用:如果构建前提前多开一个SSH终端,构建时运行top或htop命令,观察ng build相关进程的CPU、内存使用率,确认是否是构建进程吃光了所有系统资源导致调度卡死。如果没有提前开额外终端,可以事后查看系统日志:Debian/Ubuntu系查看/var/log/syslog,CentOS/RHEL系查看/var/log/messages,搜索OOM killer相关记录,确认是否有进程被系统强制回收。
  • 排查磁盘IO负载:Angular构建会生成大量临时中间文件,频繁读写磁盘,可运行iostat -x 1查看磁盘利用率是否长期处于100%状态。如果使用的是GP2类型云硬盘,用完突发IO credits之后性能会骤降,很容易导致整个系统响应卡顿。
  • 排查inode占用:运行df -i查看磁盘inode是否占满,此前多次构建的缓存文件如果没有定期清理,可能会占满inode导致新文件无法写入,触发IO阻塞。

2. Angular构建配置变更排查

  • 确认两次正常构建后是否修改过angular.json或package.json配置,比如开启了全量类型检查、全量sourceMap生成、生产环境多重压缩优化,这类配置都会大幅提升构建时的资源消耗。
  • 检查依赖包变更:如果第三次构建前执行过npm install/yarn install操作,可能是Angular CLI、代码压缩插件等依赖版本更新,导致构建逻辑变更、资源消耗陡增。
  • 检查构建缓存状态:Angular CLI默认开启的本地构建缓存如果损坏,会导致构建时放弃增量编译、全量重新编译所有文件,资源消耗直接翻数倍。可以删除.angular/cache目录后重新构建测试。

3. EC2实例自身状态排查

  • 查看EC2实例监控指标:到AWS控制台查看对应实例的CPUCreditUsage(t系列突发性能实例)、CPUUtilization、DiskReadOps/DiskWriteOps指标,确认构建时是否CPU credits耗尽、实例达到性能基线被AWS限流。
  • 检查后台定时任务:确认第三次构建开始的时间点,是否有系统定时任务触发,比如日志轮转、数据备份、系统自动更新等,这类任务和构建任务抢占资源也会导致整体卡顿。可运行crontab -l查看定时任务配置,匹配系统日志确认对应时间点的进程启动记录。

4. 进程冲突排查

  • 测试资源抢占情况:停止实例上托管的网站、数据库、缓存等服务后再执行构建,看是否还会出现冻结情况,确认是否是构建进程和业务服务抢占资源导致双输。
  • 检查安全类进程状态:部分云服务器自带的安全监控、杀毒进程会扫描新生成的文件,构建时大量文件生成会触发高频扫描,占用大量CPU和IO资源,可临时关闭这类进程后构建测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:54:04