我有一台运行 Apache/Joomla 的服务器。有时(相当规律),CPU 占用率会达到 100%,但访问日志中没有任何变化。
有什么想法可以查明问题出在哪里吗?
top - 11:31:48 up 30 days, 20:00, 1 user, load average: 1.06, 1.07, 0.96
Tasks: 115 total, 2 running, 113 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.6%us, 19.8%sy, 0.0%ni, 74.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.8%st
Mem: 536684k total, 493960k used, 42724k free, 2456k buffers
Swap: 1048568k total, 598532k used, 450036k free, 37880k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22284 apache 20 0 350m 37m 6224 R 97.4 7.1 59:22.05 httpd
1 root 20 0 10280 192 168 S 0.0 0.0 0:00.08 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.21 migration/0
答案1
您可以启用 mod_status 来查看服务器正在做什么。
您还可以将 %D(处理请求所花费的时间,以微秒为单位)添加到日志配置中,并查找需要很长时间才能处理的请求。
您还可以跟踪该过程。