• 【Linux】Top命令Load average及相关CPU检查查询


    • 命令 Top的  load average

      • 系统平均负载:被定义为在特定时间间隔内运行队列中的平均进程数,如(或)(即没有等待、没有wait,没有kill的)

        • 它没有在等待I/O操作的结果

        • 它没有主动进入等待状态(没wait)

        • 没有被停止(如:等待终止)

      • 1分钟,5分钟,15分钟

        • 每5s检测一次活跃的进程数

      • 这个数除以CPU的数目,高于5,就是超负荷运转了

    • 判断一个系统的负载 命令

      • top

      • uptime​​​​​​​

        • ​​​​​​​

      • w

        • ​​​​​​​​​​​​​​

      • cat /proc/loadavg

        • /proc虚拟文件系统,反应当前操作系统在内存中的运行情况,

        • 1/293 正在运行的进程数/进程总数

        • 3681:最近运行的进程ID号​​​​​​​​​​​​​​

        • ​​​​​​​

    • 什么因素构成负载均值的大小

      • 进程的运行时长=所有处理器内核的处理时间+线程在队列等待的时间

    • 需要进行调查法则 (0.70上下)

      • 长期处于该值,在事情变得更糟糕之前,花些时间了解原因

    • 现在就要修复法则(1.00)

      • 长期徘徊于1.00,马上解决这个问题

    • 凌晨三点半锻炼身体法则(5.00)

      • 超过了5.00,你将失去你的睡眠,还要说明这情况发生的原因,千万不要让它发生

    • linux进程状态

      • 阻塞进程 blocked process

        • 会进入等待I/O设备的数据或系统调用

      • 可运行进程 runnable process

        • 处在一个运行队列 run queue,与其他可运行进程增多CPU时间

      • 正在运行的进程  running process

    • 计算负载均值:系统以处理器的核心数量计算

      • 有多少个核心即有多个负荷

        • 多核处理中,系统的均值不应该高于处理器核心的总数量

      • 核心的核心

        • 核心分布在分别几个单个物理处理中并不重要,

      • 查询CPU的核心数量

        • 查看物理CPU个数:cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

        • 查看每个物理CPU中core的个数(即核数):cat /proc/cpuinfo| grep "cpu cores"| uniq

        • 查看逻辑CPU的个数(线程数):cat /proc/cpuinfo| grep "processor"| wc -l

        • lscpu

        • 物理CPU个数*逻辑CPU个数=总线程数

    • Windows查看CPU个数、核心数和线程数

      • wmic命令

        • cpu get Name:物理CPU数

        • cpu get NumberOfCores:CPU核心数

        • cpu get NumberofLogicalProcessors:CPU线程数

      • 4核8线程,8核

        • 4核8线程:指使用了超线程技术,物理核心模拟成2个逻辑核心,像8核一样同时间执行8线程,并非真正8核心

        • 任务量不大下,能让CPU利用率提高很多,接近8核

        • CPU占100%满负荷下,和8核的性能差距明显

        • 和8核比,每个CPU没有独立的资源,两个线程需要同一个资源,其中一个要暂时停止,让出资源

    • CPU数和线程数

      • CPU芯片数,物理上或硬件上存在多少个核心

      • 线程数,对CPU内核数的模拟(逻辑概念)

        • 因特尔超线程技术实现,允许一个内核对应两个线程

          • 单核CPU、多线程CPU

          • 四核八线程

        • AMD的CPU(没有超线程技术),只有核心数,没有线程数

    • 虚拟机的CPU选择的核心数实际上表示线程数。

    • 理想的load average:核数*CPU数*0.7

      • CPU个数:grep 'physical id' /proc/cpuinfo | sort -u

      • 核数:grep 'core id' /proc/cpuinfo | sort -u | wc -l

  • 相关阅读:
    idea插件开发- hello world
    深入理解与使用go之中间件--实现
    深度学习系列1——Pytorch 图像分类(LeNet)
    Python 编程规范和软件开发目录规范的重要性
    软件测试/测试开发丨接口自动化测试学习笔记,多环境自动切换
    花菁染料CY5标记WS2二硫化钨纳米粒CY5-WS2 NPs|CY5-Se-PEG-WS2
    一键将CSDN博客文章如何转为Markdown
    有没有一种可能,我可以学好Java的多线程——知识点汇总
    Java异常
    Python多进程 multiprocessing
  • 原文地址:https://blog.csdn.net/mengwuyoulin/article/details/127996163