[svc][cpu][jk]cpu的核心查看及什么是cpu的负载

时间:2023-01-24 20:31:52

监控的时候我们会监控cpu的负载,那么什么是负载?

编程时候有多核多线程的概念,那么cpu内部如何运作的?

搞清多少bit cpu? 有几个物理cpu?每个cpu是几核的?

之前购买内存条时候,需要关注服务器的内存条信息,是ddr3还是4,还有频率.

多CPU: 即一个机器装了多个cpu

多核CPU:即一个cpu有多个核心

- 简单粗暴的看下我共有几核cpu(2个)
$ cat /proc/cpuinfo |grep processor
processor : 0
processor : 1 - 多少bit的cpu?
$ arch
x86_64 或者: uname -a 或 file /bin/ls
参考: http://blog.csdn.net/tianlesoftware/article/details/6267115 ## cat /proc/cpuinfo输出的几个字段的含义
processor: 逻辑CPU的标识
model name: 真实CPU的型号信息
physical id: 真实CPU和标识
cpu cores: 真实CPU的内核数 - 我这台vm的cpu型号
$> grep 'model name' /proc/cpuinfo |uniq
model name : Intel(R) Xeon(R) CPU E5320 @ 1.86GHz - 我这台vm有几个物理cpu(2个)
$> grep 'physical id' /proc/cpuinfo |sort |uniq |wc -l
2 - 我这个vm每个物理cpu有几个核心(2个)
$> grep 'cpu cores' /proc/cpuinfo |uniq
2

cat /proc/cpuinfo输出的几个字段的含义

cpu的负载是怎么回事?

总而言之,不要让超过cpu核数,简单讲,如果有一个核,负载不要让超过1.

# uptime
22:11:00 up 63 days, 5:55, 1 user, load average: 0.00, 0.03, 0.05
5min 10min 15min的负载

当CPU完全空闲的时候,平均负荷为0;当CPU工作量饱和的时候,平均负荷为1。

"load average"的值越低,比如等于0.2或0.3,就说明电脑的工作量越小,系统负荷比较轻。

把这个CPU想象成一座大桥,桥上只有一根车道,所有车辆都必须从这根车道上通过。(很显然,这座桥只能单向通行。)

系统负荷为0,意味着大桥上一辆车也没有。

[svc][cpu][jk]cpu的核心查看及什么是cpu的负载

系统负荷为0.5,意味着大桥一半的路段有车。

[svc][cpu][jk]cpu的核心查看及什么是cpu的负载

系统负荷为1.0,意味着大桥的所有路段都有车,也就是说大桥已经"满"了。但是必须注意的是,直到此时大桥还是能顺畅通行的。

[svc][cpu][jk]cpu的核心查看及什么是cpu的负载

系统负荷为1.7,意味着车辆太多了,大桥已经被占满了(100%),后面等着上桥的车辆为桥面车辆的70%。以此类推,系统负荷2.0,意味着等待上桥的车辆与桥面的车辆一样多;系统负荷3.0,意味着等待上桥的车辆是桥面车辆的2倍。总之,当系统负荷大于1,后面的车辆就必须等待了;系统负荷越大,过桥就必须等得越久。

[svc][cpu][jk]cpu的核心查看及什么是cpu的负载

CPU的系统负荷,基本上等同于上面的类比。大桥的通行能力,就是CPU的最大工作量;桥梁上的车辆,就是一个个等待CPU处理的进程(process)。

如果CPU每分钟最多处理100个进程,那么系统负荷0.2,意味着CPU在这1分钟里只处理20个进程;系统负荷1.0,意味着CPU在这1分钟里正好处理100个进程;系统负荷1.7,意味着除了CPU正在处理的100个进程以外,还有70个进程正排队等着CPU处理。

为了电脑顺畅运行,系统负荷最好不要超过1.0,这样就没有进程需要等待了,所有进程都能第一时间得到处理。很显然,1.0是一个关键值,超过这个值,系统就不在最佳状态了,你要动手干预了。

你真的了解多核处理器吗? 了解多线程

参考

[svc][cpu][jk]cpu的核心查看及什么是cpu的负载

[svc][cpu][jk]cpu的核心查看及什么是cpu的负载的更多相关文章

  1. 如何用正确的姿势查看 主机系统的CPU信息

    一.关于CPU的几个概念 CPU的作用 计算机中的*处理单元(CPU)执行基本的计算工作 -- 运行程序.但是,一个单核的CPU同一时间只能一次执行一个任务,为了提高计算机的处理能力,也就出现了多C ...

  2. 【AIX】查看系统内存、CPU等信息

    1.查看内存大小(结果单位为kb) bootinfo –r 2.查看物理CPU个数 prtconf|grep Processors 3.查看逻辑CPU个数 pmcycles –m 4.查看COU核数 ...

  3. 全面了解 Linux 服务器 - 1. 查看 Linux 服务器的 CPU 详细情况

    1. 查看 Linux 服务器的 CPU 详细情况 判断依据: 具有相同的 core id 的 CPU 是同意个 core 超线程. 具有相同的 physical id 的 CPU 是同一个 CPU ...

  4. cat /proc/cpuinfo 引发的思考--CPU 物理封装-物理核心-逻辑核心-超线程之间关系

    CPU的物理封装,一个物理封装使用独立的一个CPU物理插槽,共享电源和风扇: CPU物理核心:在一个物理封装中封装了多个独立CPU核心,每一个CPU核心都有自己独立的完整硬件单元. CPU逻辑核心:一 ...

  5. 查看进程,按内存从大到小 ,查看进程,按CPU利用率从大到小排序

    查看进程,按内存从大到小 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr 查看进程,按CPU利用率从大到小排序 ps -e -o "% ...

  6. linux中如何查看进程对应的cpu使用情况?

    使用ps aux | grep <进程名>即可查看指定进程的cpu使用情况.

  7. 查看linux内存、cpu

    1.查看cpu数 多核cpu,包括物理多核和逻辑多核,一台机器可能有多个cpu,每个cpu可能有多核的,多个可能包括物理多核和逻辑多核. /proc/cpuinfo 文件里记录了这些信息,以下是一个核 ...

  8. 多线程程序 怎样查看每个线程的cpu占用

    可以用下面的命令将 cpu 占用率高的线程找出来: ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu 这个命令首先指定参数'H',显示线程相关的 ...

  9. linux查看主板型号、CPU、显卡、硬盘等信息

    系统 uname -a # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # ...

随机推荐

  1. jQuery datatables

    jQuery datatables 属性,用例 参考:http://datatables.club/example/ http://blog.csdn.net/mickey_miki/article/ ...

  2. Win7虚拟机无法打开内核设备&colon;&bsol;&bsol;Global&bsol;&bsol;vmx86

    Win7虚拟机无法打开内核设备:\\Global\\vmx86 听语音 | 浏览:16844 | 更新:2014-07-21 11:21 | 标签:虚拟机 1 2 3 4 5 6 7 分步阅读 一键约 ...

  3. MySQL 多实例删库脚本

    DB版本:5.5.14 OS:CentOS 6.3 在测试环境中,在一台服务器上创建多个实例,在每个实例中一个一个删库比较麻烦,因此用下面脚本,可以直接删除所有库,除了系统库以外: #!/bin/ba ...

  4. iOS之设置状态栏颜色

    状态栏的字体为黑色:UIStatusBarStyleDefault 状态栏的字体为白色:UIStatusBarStyleLightContent 一.在info.plist中,将View contro ...

  5. 【转】HttpServlet详解

    [转]HttpServlet详解 Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servl ...

  6. vs-code 基础设置

    汉化设置: 最新版的vscode 汉化需要两步 1 ctrl+shift+p   在顶部输入框中输入 language 后选择  configure Display Language  后进入 第二张 ...

  7. 主流前端框架对比:Vue&period;js &comma; React&comma; Angular&period;js

    个人认为Vue.js的文档最恳切.我认为结合文档和遇到问题Google答案的匹配度来讲:Vue.js > ReactJS > AngularJS > Angular 2 如何使用Vu ...

  8. mysql 中 myisam innodb 的区别

    区别: 1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事 ...

  9. &num;pragma pack&lpar;n&rpar;的使用

    在缺省情况下,编译器为了让程序跑得跟快,减少CPU读取数据的指令周期,对结构体的存储进行了优化, 比如:如下结构体 struct s { char ch; int i; }; 虽然变量ch本身只有1个 ...

  10. POJ2031 Building a Space Station 2017-04-13 11&colon;38 48人阅读 评论&lpar;0&rpar; 收藏

    Building a Space Station Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 8572   Accepte ...