Questions tagged «strace»

6
找出高CPU使用率的apache进程实际上在做什么?
目前,我们的服务器间歇性地出现了一些问题,我们似乎在不断运行apache进程,它们占用了100%的CPU。 在运行时,我们看到以下内容: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20788 www-data 20 0 318m 18m 3984 R 100 0.0 40:29.21 /usr/sbin/apache2 -k start 23523 www-data 20 0 319m 20m 4684 R 100 0.0 4:12.36 /usr/sbin/apache2 -k start 我想尝试找出导致此问题的脚本(或其原因),所以我尝试了以下操作: strace -p 20788 但这根本不显示任何输出(我已经将其保留了大约10分钟,并且什么也没有显示)。根据我的理解,这可能意味着它陷入了无限循环,并且没有任何“系统调用”可显示。 我还能做些什么来显示正在发生的事情吗? 谢谢 编辑-忘记了,这是一台实时服务器,随时有数百个用户!因此,我不能真正自由地尝试更改配置选项并重新启动apache。 …


3
监视Linux机器上所有新产生的进程
有时候,一个过程来来往往比我ps aux尝试的要快,watch -d -n0.1 "ps aux | tail"但是我又一次限制了它的执行时间,限制为1/10秒。我真正想要的是运行命令并遵循所有新进程(每行产生一个新进程)。即使进程运行很快。我知道strace有类似的能力,但我无法让它做我想做的事。 tl;dr :有没有办法记录所有新进程? 我不想知道太多,最多ps aux只能给我一行,对于当前情况,我只是有一个进程由另一个进程生成并消失了,我希望能够运行它,但是我不知道该命令将是什么。甚至知道新的PID就足够了,因为我可以找到一个脚本来接受这些PID并ps | grep在这些PID上运行,并在进程运行时为我提供更多信息(假设进程继续运行时仍在ps进行)
12 process  ps  strace 

4
您将如何简化此命令?
我对strace / netstat /等还很陌生。我正在使用此命令来获取处理我的请求(telnet)的apache进程的踪迹,是否可以简化一下? sudo strace -o /tmp/strace -f -s4096 -r -p $(netstat -antlp | \ grep $(lsof -p `pidof telnet` | grep TCP | \ perl -n -e'/localhost:(\d+)/ && print $1') | grep apache2 | \ perl -n -e'/ESTABLISHED (\d+)/ && print $1') 谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.