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
4.物理内存和虚拟内存的区别
虚拟内存是磁盘开辟出来当做物理内存使用,当物理内存不足时,系统使用虚拟内存时特别慢