zoukankan      html  css  js  c++  java
  • 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

    4.物理内存和虚拟内存的区别

    虚拟内存是磁盘开辟出来当做物理内存使用,当物理内存不足时,系统使用虚拟内存时特别慢

  • 相关阅读:
    Python列表(即数组)
    Python中的关键字和内置函数
    python的变量和数据类型
    将数据写入本地txt
    Notepad++配置Python开发环境
    java中方法复写的作用进一步理解
    this表示当前对象的例子
    数组冒泡算法
    java实现星号三角形
    求1到1000之间同时能被3、5、7整除的数
  • 原文地址:https://www.cnblogs.com/zzzao/p/9207746.html
Copyright © 2011-2022 走看看