摘要: CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线程切换及中断切换,进程切换的开销较大,除了需要保存寄存器和程序计数器中的值还需保存全局变量、栈等到内存中,以便下次运行恢复,而同一进程中的线程切换开销会小很多,只需更新寄存器和线程独有的栈,共享资源如打开的文件、全局变量等无需切换,当硬件中断发生时,比如键盘输入了字符,就会触发中断切换,打断程序的执行而去运行中断处理程序。当系统性能下降,可以用vmstat查看系统整体的cpu切换情况,接着用pidstat -w -t 定位到具体切换较频繁的线程。 阅读全文
posted @ 2018-12-02 15:34 golang架构师k哥 阅读(1361) 评论(0) 推荐(1) 编辑