我注意到进程需要很长时间才能启动(100 毫秒)。
我的 CPU 大部分时间处于空闲状态,但是上面有负载。
top - 16:59:29 up 60 days, 23:49, 1 user, load average: 6.38, 6.28, 5.95
Tasks: 544 total, 4 running, 539 sleeping, 1 stopped, 0 zombie
Cpu(s): 7.0%us, 3.8%sy, 1.9%ni, 80.2%id, 6.6%wa, 0.0%hi, 0.6%si, 0.0%st
卷曲时间:
-bash-4.1$ time curl
curl: try 'curl --help' or 'curl --manual' for more information
real 0m0.097s
user 0m0.092s
sys 0m0.004s
我怎样才能查明为什么这需要这么长时间?
答案1
strace 是你的朋友
$ strace -t ps
查找时间增量最大的条目。
答案2
这是磁盘 I/O。立即重复该命令,你会发现它花费的时间少了很多。
$ time curl
curl: try 'curl --help' or 'curl --manual' for more information
real 0m0.108s
user 0m0.004s
sys 0m0.004s
$ time curl
curl: try 'curl --help' or 'curl --manual' for more information
real 0m0.007s
user 0m0.004s
sys 0m0.003s
$ time curl
curl: try 'curl --help' or 'curl --manual' for more information
real 0m0.007s
user 0m0.004s
sys 0m0.003s