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

.NET Core 2进程CPU占用过高问题求助(Mac环境)

关于Mac下dotnet new angular项目重启后CPU占用100%的问题解决建议

我之前在Mac环境下开发.NET + Angular项目时,也碰到过完全一样的糟心问题!结合自己的排查和社区里的经验,给你几个可行的方向:

  • 先解决眼前的残留进程问题:
    每次用control + c退出后,用pkill dotnet命令可以一次性杀掉所有残留的dotnet进程,比手动找PID一个个杀方便多了。如果还是有顽固进程,用ps aux | grep dotnet找到对应的PID,再执行kill -9 <PID>强制终止,之后再重新运行dotnet run应该就能正常启动了。

  • 排查根本原因:

    1. 热重载/文件监听的兼容性问题:Angular模板默认会启用dotnet的热重载功能,而Mac的文件系统事件(比如FSEvents)有时候会和dotnet的watch机制冲突,导致残留进程进入无限循环,疯狂占用CPU。你可以试试运行dotnet run --no-hot-reload,如果重启后不再出现CPU拉满的情况,那基本就是热重载的锅。
    2. 进程退出不彻底的联动问题:dotnet new angular创建的项目是.NET后端和Angular前端一起启动的,control + c可能只终止了前端的dev server,但.NET的后端进程因为某些原因没有被正确终止,或者反过来。这种情况下,残留的进程会因为失去了联动的另一端,陷入异常循环。
    3. SDK版本bug:某些特定版本的.NET SDK在Mac上确实存在进程残留的问题,建议你更新到最新的稳定版SDK,很多这类小bug都会在后续版本中被修复。
  • 长期规避的小技巧:
    可以把杀进程的命令写成一个简单的shell脚本,比如创建一个kill-dotnet.sh,内容就是pkill dotnet,需要的时候执行一下,比每次手动输命令省事。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:10:29