zoukankan      html  css  js  c++  java
  • 关于cpu

    CPU是负责运算和处理的,内存是交换数据的。

    当程序或者操作者对CPU发出指令,这些指令和数据暂存在内存里,在CPU空闲时传送给CPU,CPU处理后把结果输出到输出设备上,输出设备就是显示器,打印机等。在没有显示完之前,这些数据也保存在内存里,如果内存不足,那么系统自动从硬盘上划分一部分空间作为虚拟内存来用。但写入和读取的速度

    跟物理内存差的很远很远,所以,在内存不足的时候,会感到机器反应很慢,硬盘一直在响。

    512M的物理内存如果增加到2GB,你会感到电脑变得飞快。但内存512,即使你把CPU从单核换成双核,加速感觉也不明显。

    如果你本来就有2G内存,再增加2G,使用起来几乎没有多少性能的改变。

    在理论上,物理内存太大反而会减慢速度,因为它增加了寻址的时间。

    所以家用机器推荐使用2GB-4GB足矣。

    电脑是企业,内存是车间,CPU是生产线,硬盘是仓库,主板是地基,

    CPU速度快,生产就快,内存大,一次处理的原材料就多,

    所以提高机器速度有两条路,一是CPU升级,一是扩大内存,一次处理更多的信息产品,

    但CPU与内存又互相制约,车间再大,CPU慢也快不起来,CPU快,但车间小,一次送来的加工材料没多少,也快不了

    cpu的利用率

    最简单的说法就是处理器的繁忙程度...使用率很低就很空闲...使用率很高就是很忙....当处理器使用率超过90%是基本上也就达到了满载(并不是非要达到100%才到满载)可能会出现卡顿的现象...达到100%时就开始卡了....
    Linux/Unix下,CPU利用率分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间。平时所说的CPU利用率是指:
    CPU执行非系统空闲进程的时间 / CPU总的执行时间

    CPU利用率和CPU使用率是相同概念,计算方法如下:

    1. 需要两个进程,一个为idle进程;一个为统计进程。 

    2. idle进程在系统空闲时执行,每执行一次为一个计数器count加一。统计进程每秒执行一次负责计算CPU使用率,并把count清零。 

    3. 首先要求出没有其它进程时count一秒中内由零开始的累加值max,这通常在系统初始化时完成。有其它进程时idle进程执行的次数减少,count的累加值也小于max。

    4. 统计进程计算CPU使用率时采用以下公式: usage=(1-count/max)*100。

    1.线程是CPU调度的最小单位,是不是指时间片是按线程分的?
    2.如果1的答案为是,那么某个进程有超多的线程,那么这个进程将占据绝大多数CPU时间?
    3.如果1的答案为否,那么时间片按进程分,单核多线程速度会比单线程慢呗,因为要线程切换?
    1,进程是资源分配单位,线程是CPU调度单位,对大多数操作系统来说,时间片是线程而非进程相关的;
    2,不一定,线程的调度执行是有优先级的,优先级高的得到更多时间片,Linux系统中优先级高的线程时间片大于优先级低的时间片,所以进程有多个线程并不一定这个进程会占用更多CPU时间;
    3,这个还是跟优先级有关,如果优先级低,线程再多也不能加快执行速度,即使进程是单线程也是通过操作系统来调度的,也会分配时间片,因为后台还有许多线程在调度执行;但有一点是明确的,线程是对CPU的虚拟,进程有多个线程相当于给该进程分配了多个CPU来执行,效率肯定要高于只分配一个CPU来执行。
    

      

  • 相关阅读:
    C语言结构体+公用体+枚举训练
    TIFF图像文件格式详解
    Professional CUDA C Programming的代码实例1.1
    C语言数组强化训练
    C语言字符数组与字符串
    文件操作
    MATLAB 与Modelsim之间对测试系统的联合仿真
    FFT实现逆FFT
    眼图——概念与测量(摘记)
    《我的心曾悲伤七次》卡里·纪伯伦
  • 原文地址:https://www.cnblogs.com/BlingSun/p/7488245.html
Copyright © 2011-2022 走看看