
现象一台mac服务器大约40来天就会出现服务器连接不上的问题最后只能到机房强制重启。分析sh-3.2# launchctl limit maxprocmaxproc 10666 16000sh-3.2# ulimit -Su10666sh-3.2#当前进程数限制10666但如果只从active monitor上看只有3471个进程。为什么新建终端无法打开问题所在应用产生了很多僵尸进程但在macos的top里面看不到zombie的信息一直没往这个方向想。原理解释在 Unix 系统包括 macOS中一个子进程结束后如果它的父进程没有调用wait()或waitpid()来回收它的退出状态这个子进程就会变成僵尸进程Defunct / Zombie。瓶颈卡点僵尸进程虽然不占用 CPU 或物理内存但它们依然牢牢占用了系统的 PID进程号和进程表条目。