如下所示,单个 Apache 进程挂起并占用大量 CPU 资源。如何找到此 Apache 进程运行的 http 调用?
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12554 www-data 20 0 776m 285m 199m R 97 3.7 67:15.84 apache2
14580 www-data 20 0 748m 372m 314m S 4 4.8 0:13.60 apache2
12561 www-data 20 0 784m 416m 322m S 3 5.4 0:58.10 apache2
12592 www-data 20 0 785m 427m 332m S 2 5.6 0:57.06 apache2
答案1
使用strace
使用特定的 PID。鉴于您的示例,语法将是sudo strace -p 12554
。您还可以使用-o
选项输出到文件,因为它可能太快而无法在屏幕上跟踪。
以下指南/教程可能会有所帮助,因为strace
使用和输出对于初学者来说可能不是直观的: