interrupt time
不会显著上升 。
此外,由于部分内核代码是不可重入的(例如,修改寄存器),其执行过程不能打断 。因此这些代码的执行过程中,会屏蔽掉硬中断 。
关中断的操作在内核里随处可见,这反过来会给硬中断带来一些影响 。比如,进程关中断时间太长会导致网络报文无法及时处理,进而引起业务性能抖动 。
而软中断的执行时间如果太长,就会给用户线程带来延迟,如果 softirq time
很大则很可能意味着用户线程会受到影响 。
网络 IO 频繁的应用机器的 softirq time
通常会比较高,可能存在网络连接数过多,或者网络流量过大的情况,
ksoftirqd
的优先级与用户线程是一致的,因此,如果软中断处理函数是在 ksoftirqd
里执行的,那它可能会有一些延迟 。
时间窃取在 GNU top命令中,steal time
定义为 “虚拟机管理进程 hypervisor
从 VM 窃取的时间” 。该概念是Xen,KVM,VMware 等社区或者厂商推广到Linux社区的 。
当系统管理进程和 VM 尝试占用同一物理 CPU 核 pCPU
时,会导致 VM 的虚拟 CPU vCPU
可用的处理器时间减少,从而造成 VM 性能下降 。
中虚拟化环境中,可能发生时间窃取的一些情况:
- 多个高负载 VM 的
vCPU
的运行在同个pCPU
上(公有云的 CPU 超卖) - VM 的
vCPU
与线程绑定在了某个特定的pCPU
上,导致虚拟主机vhost
进程处理 I/O 时从这些vCPU
上窃取时间 - 虚拟机监控程序进程(例如监视,日志记录和I/O进程)与 VM 争抢
pCPU
经验总结扩展阅读
- 工厂方法在Spring源码中的运用
- 啤酒度数怎么看
- OnionArch - 如何实现更新指定字段的通用Handler
- 关于三伏天出伏的诗有哪些 三伏天宜静还是宜动
- windows C++ 异常调用栈简析
- 宋嫂鱼羹的来历
- .NET平台下一个你不知道的框架,我只想说两个字:“牛逼”
- 胡辣汤是河南的吗
- 四伏天是几月 伏天晒背的最佳时间
- 不属于夏季节气的是