1
dafang 2015-08-17 11:00:51 +08:00
semop resumed 和 poll resumed 肯定不是 CPU 100%的根源, 进程从睡眠恢复.
拿 poll 来说, poll 的过程如果没有可读写的 socket, poll 进程阻塞睡眠, 直到 socket 有数据后恢复. 用 systemtap 追踪一下. |
2
rhwood 2015-08-17 11:13:56 +08:00
内存用完了吗?
|
3
airqj 2015-08-17 11:23:34 +08:00
用 perf 来跟踪就知道了
|
6
jxiewei 2015-08-17 12:11:15 +08:00
先从 httpd 的日志开始分析起吧, systemd/perf 的结果都太底层了,不太好和业务模块对应起来。
|
7
klakekent OP @jxiewei http 的日志就是没看出任何问题,所以才选择了用 strace 来看。
22664 0.000019 <... semop resumed> ) = 0 <51.495516> 我只是觉得这个最后花费的时间太长了 估计有问题 |
8
jxiewei 2015-08-17 12:38:17 +08:00
@klakekent 0.01s 的延时,如果是偶尔出现,可能是调度延时。
如果平均下来都有 0.01s 的延时,有可能是信号量竞争太多了,是不是进程开太多了。 |
9
henryon 2015-08-17 12:45:37 +08:00
换 nginx 。。。 strace -t -r
|
10
klakekent OP |
11
kof21411 2015-08-17 15:37:06 +08:00
看看是不是有人用 php 漏洞在打你的服务器
|
13
ctexlive 2015-08-17 17:47:45 +08:00 via Android
采用默认设置也如此吗? php 用的什么模块?
|
14
pubby 2015-08-17 18:01:52 +08:00
配置上,进程数太高。
根源可能是代码问题,比如"死循环"啥的 |
15
klakekent OP |
16
klakekent OP LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule ldap_module modules/mod_ldap.so LoadModule include_module modules/mod_include.so LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so LoadModule env_module modules/mod_env.so LoadModule expires_module modules/mod_expires.so LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module modules/mod_headers.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule mime_module modules/mod_mime.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule substitute_module modules/mod_substitute.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule cache_module modules/mod_cache.so LoadModule suexec_module modules/mod_suexec.so LoadModule disk_cache_module modules/mod_disk_cache.so 目前除了 php 有这些模块加载 |
17
pubby 2015-08-17 18:51:32 +08:00
可以打开 apache 的 status 模块,看一下 CPU 100%的进程在处理什么请求? 尽量缩小查找问题的范围
|
18
darluc 2015-08-18 01:19:30 +08:00
难道是 php 版本太高?换个版本试试?
|
19
chaegumi 2015-08-18 15:17:57 +08:00
php 有个慢查询记录
|
20
adrianzhang 2015-08-22 02:23:43 +08:00
换个内存
|