cpu相关概念

1.cpu使用率跟负载之间有什么关系

cpu使用率:程序在运行期间实时占用cpu的百分比

负载:正在调用cpu的进程+正在等待io的进程之和

理论情况是cup使用率越高,负载就越高。一般是一个1个cpu,1个负载。负载安全为cpu颗粒数的0.7-0.8倍。

(1)cpu使用率高,也会出现负载低的情况:

当程序进行复杂的运算,但是只有一个进程时,cpu使用率就回很高,但是负载低。

(2)cup使用率低,负载高情况:

当系统有大量的io读写出现等待时,消耗的cpu使用率少,但是负载高

2.cup上下文切换和中断

(1)cup上下文切换

每个进程都会分到CPU的时间片来运 行,当一个进程用完时间片或者被更高优先级的进程抢占后,它会备份到CPU的运行队列中,同时其他进程在CPU上运行。这个进程切换的过程被称作上下文切 换。过多的上下文切换会造成系统很大的开销。

导致上下文切换的原因有:

1、当前任务的时间片用完之后,系统CPU正常调度下一个任务;进程切换会产生cpu上下文切换
2、当前任务碰到IO阻塞,调度线程将挂起此任务,继续下一个任务;
3、多个任务抢占锁资源,当前任务没有抢到,被调度器挂起,继续下一个任务;
4、用户代码挂起当前任务,让出CPU时间;
5、硬件中断

(2)cup中断

产生上下文切换时,进入运行队列的进程没执行完,不能连续执行时就叫中断

3.当启动程序时,如果程序读写磁盘,读写日志,那么程序消耗的是系统cup(sys%),因为io的读写时,系统调用内核,所有消耗的系统的cpu

猜你喜欢

转载自www.cnblogs.com/zzzao/p/9207746.html