运行php程序cpu 100%,php 应用 cpu 100% 调试方法
找出进程占用cpu高的原因。
进程占用cpu高,一般是由于进程长时间占用cpu,又没有主动释放占用。如果想主动释放cpu,可以调用sleep。在写程序的时候,尤其要注意while 等循环的地方。
找出php进程在执行那段代码
$sudo gdb -p 10434
(gdb) print (char *)executor_globals.active_op_array->filename
$13 = 0x2924118 "/home/admin/gearman_manager/pecl-manager.php"
(gdb) print executor_globals->current_execute_data->opline->lineno
$14 = 55
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00000031d32306d0 in sigprocmask () from /lib64/libc.so.6
(gdb) print executor_globals->current_execute_data->opline->lineno
$15 = 71
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00000000006250e1 in zend_hash_find ()
(gdb) print executor_globals->current_execute_data->opline->lineno
$16 = 53
如果对上面的命令有疑问,可以查看 当cpu飙升时,找出php中可能有问题的代码行
根据上面的信息,我们可以知道,cpu高时,正在执行/home/admin/gearman_manager/pecl-manager.php文件。并且正在执行53和71行附近的代码。
还可以通过strace进行调试
java 程序消耗 cpu 100% 查找方法
问题原因:由于HashMap是非线程安全的,在多线程访问时,造成死循环. 查找问题方法: 1. top 找出最耗费cpu的进程号 如:27377 2. top -p 27377 -H 找出此进程下的所 ...
java程序CPU 100%调试
前置 PID为进程id,NID为线程ID 步骤一.找到最耗CPU的进程 top 然后键入P,按CPU占用率排序(M是按内存排序) 步骤二.找到进程中最耗CPU的线程 top -Hp PID 步骤三.将 ...
Linux:CPU使用率100%排查方法
Linux作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉. CPU使用率 Linux作为一个多任务操作系统,将每个CPU ...
VxWorks操作系统shell命令与调试方法总结
VxWorks下的调试手段 主要介绍在Tornado集成开发环境下的调试方法,和利用支撑定位问题的步骤.思路. 1 Tornado的调试工具 嵌入式实时操作系统VxWorks和集成开发 ...
【转】STM32: 一种计算CPU使用率的方法及其实现原理
1 前言出于性能方面的考虑,有的时候,我们希望知道CPU的使用率为多少,进而判断此CPU的负载情况和对于当前运行环境是否足够“胜任”.本文将介绍一种计算CPU占有率的方法以及其实现原理. 2 移植 ...
转:Linux环境下段错误的产生原因及调试方法小结
源地址:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 补充:http://baike.baidu.com/link ...
Linux环境下段错误的产生原因及调试方法小结
转载自http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之 ...
[转]不正当使用HashMap导致cpu 100%的问题追究
以前项目中遇到类似业务,但使用的是CurrentHashMap,看到这篇文章,转载记录,警示自己. 以下内容转自: 转载自并发编程网 – ifeve.com(http://ifeve.com/hash ...
随机推荐
ios之JavaScript
初次接触java脚本,感觉java脚本so interesting!为什么呢?写javascript代码感觉就像是在记流水账,无拐弯抹角,一个字,就是"干",想怎么干就怎么干,哈哈 ...
javascript 正在加载中,请稍后效果实现
/*蒙版*/ .loading-mask { width: 100%; height: 100%; position: fixed; top:; left:; right:; bottom:; bac ...
Wijmo金融图表系列之等量图&;成交量柱状图
Wijmo金融图表有很多类型,我们来一一介绍.之前介绍了平均K线图(Heikin-Ashi)和砖形图,现在我们来一起看看等量图和成交量柱状图. 图表 #3: 等量图(EquiVolume) 等量图和K ...
附带详细注释的log4net的app.config文件配置例子
<?xml version="1.0" encoding="utf-8" ?>
Hive静态分区表&;动态分区表
静态分区表: 一级分区表: CREATE TABLE order_created_partition ( orderNumber STRING , event_time STRING ) PARTIT ...
【EF】 proxy
逐步解說:使用 WCF 序列化 POCO Proxy (Entity Framework) .NET Framework 4 POCO Proxy 型別無法由 Windows Communicat ...
页面中插入百度地图(使用百度地图API)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWF5dW4wNTE2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
03.javabean
一.javabean简介 1, 作用:一个可重用组件,在jsp开发中可减少重复代码,使HTML与JAVA代码分离便于日后维护. 2, javabean类要求: 所有类必须放在包中,且为public ...
linux中的颜色控制
\033[031m xxx \033[0m ---------------------->中间的xxx部分显示为红色,不接后面的\033[0m,则以后显示的都是红色,\033表示开始和结束 ...
Ribbon
Ribbon是一个客户端的负载均衡器,它提供对大量的HTTP和TCP客户端的访问控制.Feign也是用的Ribbon,所以在这一章你也可以用@FeignClient Ribbon的一个核心概念是命名的 ...
运行php程序cpu 100%,php 应用 cpu 100% 调试方法相关推荐
- 打开bat文件闪退以及‘java‘不是内部或外部命令,也不是可运行的程序或批处理文件【本人亲测解决方法】
最近在打开moa.bat文件的时候遇到了一个问题:双击打开之后一闪而过,什么都没有.(就是bat文件打不开,我还说这么多作甚) Windows系统 首先针对一闪而过提出解决方案: 鼠标右击bat文件, ...
- 运行应用程序报错“Resource temporarily unavailable”的解决方法
运行应用程序时报错"Resource temporarily unavailable".根据这个错误可以在网上找到很多的原因及其解决方法,但我发现这些解决方法都不适用于我的情况.最 ...
- linux gdb 运行的程序,GDB(十)--调试正在运行的进程
我编写了一个循环: long i; for (i = 0; i < 999999; i++) { mt.a += 1; sleep(1); } 把它编译成a.out,并在后台执行它:./a.ou ...
- 计算机能够运行的程序的大小不能超过内存,内存大小是影响电脑中运行的程序的速度...
内存大小是影响电脑中运行的程序的速度 内存与 CPU 是属于桥梁关系,任何运行的程序都必须经过内存.只要计算机在运行中,CPU 就会把需要运算的数据调到内存中进行运算,当运算完成后 CPU 再将结果传 ...
- linux下bash脚本常用的十个技巧:显示执行脚本花费的时间,在脚本退出时杀死后台运行的程序,在脚本退出时跳出循环,读取命令行参数来决定循环次数
文章目录 1.显示执行脚本花费的时间 2.在脚本退出时杀死后台运行的程序 3.在脚本退出时跳出循环 4.读取命令行参数来决定循环次数 1.显示执行脚本花费的时间 网址:bash - How to ge ...
- 成功解决‘nvidia-smi‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
成功解决'nvidia-smi' 不是内部或外部命令,也不是可运行的程序 或批处理文件 目录 解决问题 解决思路 解决方法 解决问题 'nvidia-smi' 不是内部或外部命令,也不是可运行的程序 ...
- 成功解决 python 不是内部或外部命令,也不是可运行的程序或批处理文件
成功解决'python' 不是内部或外部命令,也不是可运行的程序或批处理文件 目录 解决问题 解决思路 解决方法 解决问题 'python' 不是内部或外部命令,也不是可运行的程序或批处理文件 解决思 ...
- 成功解决''g++' 不是内部或外部命令,也不是可运行的程序 或批处理文件
成功解决''g++' 不是内部或外部命令,也不是可运行的程序 或批处理文件 目录 解决问题 解决思路 解决方法 解决问题 ''g++' 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决思路 ...
- 后台运行linux程序,后台运行Linux程序的方法
后台运行Linux程序,可以通过crontab设置,这种方法一般用来让一个程序定时运行,也可以通过./test &这样在程序末尾加上一个&使程序在后台运行. 编写代码,下面我将参考ht ...
最新文章
- 深度学习如何选择模型
- 服务器双系统切换快捷键,服务器双系统同时开
- 操作系统-并发:死锁和饥饿
- redis和Memcached的区别,都什么时候使用?
- VS2005~VS2022,那些年用过的VS,致敬,青春!
- python中函数的参数类型( 位置参数、关键字参数、默认值参数和可变长度参数)
- C语言 ##__VA_ARGS__ - C语言零基础入门教程
- 【python教程入门学习】迭代器、生成器和可迭代对象
- android环信退出登录,环信退出登陆的的问题
- Pop3_解决PKIX:unable to find valid certification path to requested target 的问题
- MATLAB表上作业法解决运输问题
- 大数据之项目需求及架构设计
- 数据仓库与数据挖掘 5
- 大气层整合傻瓜包_三国无双7大气层傻瓜包存档
- 如何在远程桌面无响应的情况下完成远程电脑重启
- 【人工智能】Fisher 线性分类器的设计与实现(QDU)
- Invalid bound statement (not found): com.xx.dao.TypeMapper.selectAll
- JAVA 日期推算---算法
- GPT分区-----Linux系统
- Ubuntu系统下U盘变成只读文件系统的处理办法