100% 硬件 IRQ,而 PHP 似乎只是挂了一会儿

100% 硬件 IRQ,而 PHP 似乎只是挂了一会儿

我正在运行FLOW3 快速入门在 Fedora 机器上(如果有帮助的话,在 Windows 上虚拟化)。每个请求大约需要 1.2 秒来运行这个框架最简单的示例。我运行了一下,top希望看到一些中央处理器或者输入/输出等待但相反,这台机器似乎只是在等待某件事,硬中断请求100% 时:

top - 13:21:42 up 57 min,  3 users,  load average: 3.49, 2.05, 1.29
Tasks: 147 total,   2 running, 145 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,  0.0%id,  0.0%wa,100.0%hi,  0.0%si,  0.0%st
Mem:    768208k total,   485356k used,   282852k free,     5524k buffers
Swap:  1507324k total,    19424k used,  1487900k free,   102724k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 2315 apache    20   0  102m  24m  10m S  2.3  3.2   0:00.82 httpd              
 2316 apache    20   0  102m  24m  10m S  1.7  3.2   0:00.86 httpd              
 2319 apache    20   0  102m  24m  10m S  1.7  3.3   0:00.78 httpd              
 1734 test      20   0 73688  12m 7388 S  0.7  1.6   0:16.96 gnome-terminal     
 1041 root      20   0 70788  27m 2496 S  0.3  3.7   0:31.71 Xorg               
 2472 apache    20   0 23160 5104 3712 R  0.3  0.7   0:00.01 php                
    1 root      20   0  5208 1932 1464 S  0.0  0.3   0:01.11 systemd            
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd           
    3 root      20   0     0    0    0 S  0.0  0.0   0:00.75 ksoftirqd/0        
    6 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0        
    7 root      RT   0     0    0    0 S  0.0  0.0   0:00.08 watchdog/0         
    8 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 cpuset             
    9 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 khelper            
   10 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 netns              
   11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 sync_supers        
   12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 bdi-default        
   13 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kintegrityd    

软件版本:Fedora 15,PHP 5.3.6,MySQL 5.6.2-m5

信息:一个简单的<?php phpinfo(); ?>脚本在5毫秒内运行。

知道这个硬件 IRQ 来自哪里吗?

答案1

听起来延迟是由于虚拟机托管虚拟机所产生的开销造成的。我认为,如果您切换到其他虚拟化解决方案(Hyper-V、Xen、KVM、VMWare 等),这种延迟就会消失。

我相信虚拟盒并非旨在提供低延迟硬件访问,而只是为客户操作系统提供一个方便的容器(以牺牲性能为代价)。

相关内容