自己测试哪个页面 CPU 也不会 100%, 但是线上运行一会儿, CPU 就可能 100%
怎么能知道是哪个文件,哪个语句, 导致 CPU 占用高?
windows 下 php 没有慢日志功能 慢也不代表 CPU 占用高吧?
1
crazypig14 2020 年 12 月 8 日
profile 的工具,xdebug xhprof,还有换到 linux 吧
|
2
realpg PRO 都 2020 年了 还 PHP-CGI.exe 呢
|
3
RickyC OP @crazypig14 谢谢
|
4
wangritian 2020 年 12 月 8 日
怀疑是访问不稳定的第三方 api,没有加超时时间
|
5
julyclyde 2020 年 12 月 8 日
@wangritian 如果是没设置超时时间应该不会 cpu 占那么高啊,一直在等待应该是 0%啊
|
6
wangritian 2020 年 12 月 8 日
@julyclyde 进程或线程资源不释放导致的切换成本?只是凭经验猜测
|
7
julyclyde 2020 年 12 月 8 日
@wangritian 也可能是 spinlock 之类的?
|
8
R18 2020 年 12 月 8 日
上 sentry
|
9
buffzty 2020 年 12 月 8 日
php 这种情况基本都是 while 死循环了.用二分法把文件打断点 die(__FILE__.__LINE__); 找到卡的那个 while 排查一下就行 php 问题解决起来太方便了.
|
11
ben1024 2020 年 12 月 9 日
一般都是内存超掉,CPU 超掉的情况是不是内存配比过小,同时配置了太多请求进程,限制下请求进程看下
用 xhprof 排查运行机制也可以 |