`
gelongmei
  • 浏览: 211431 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Linux 下多核CPU知识

 
阅读更多

1. 在Linux下,如何确认是多核或多CPU:

#cat /proc/cpuinfo

如果有多个类似以下的项目,则为多核或多CPU:

processor  : 0

......

processor  : 1

2. Linux下,如何看每个CPU的使用率:

#top -d 1

之后按下1. 则显示多个CPU

Cpu0  :  1.0%us,  3.0%sy,  0.0%ni, 96.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

3. 如何察看某个进程在哪个CPU上运行:

#top -d 1

之后按下f.进入top Current Fields设置页面:

选中:j: P  = Last used cpu (SMP)

则多了一项:P 显示此进程使用哪个CPU。

Sam经过试验发现:同一个进程,在不同时刻,会使用不同CPU Core.这应该是Linux Kernel SMP处理的。

4. 配置Linux Kernel使之支持多Core:

内核配置期间必须启用 CONFIG_SMP 选项,以使内核感知 SMP。

Processor type and features  ---> Symmetric multi-processing support

察看当前Linux Kernel是否支持(或者使用)SMP

#uname -a

5. Kernel 2.6的SMP负载平衡:

在 SMP 系统中创建任务时,这些任务都被放到一个给定的 CPU 运行队列中。通常来说,我们无法知道一个任务何时是短期存在的,何时需要长期运行。因此,最初任务到 CPU 的分配可能并不理想。

为了在 CPU 之间维护任务负载的均衡,任务可以重新进行分发:将任务从负载重的 CPU 上移动到负载轻的 CPU 上。Linux 2.6 版本的调度器使用负载均衡(load balancing) 提供了这种功能。每隔 200ms,处理器都会检查 CPU 的负载是否不均衡;如果不均衡,处理器就会在 CPU 之间进行一次任务均衡操作。

这个过程的一点负面影响是新 CPU 的缓存对于迁移过来的任务来说是冷的(需要将数据读入缓存中)。

记住 CPU 缓存是一个本地(片上)内存,提供了比系统内存更快的访问能力。如果一个任务是在某个 CPU 上执行的,与这个任务有关的数据都会被放到这个 CPU 的本地缓存中,这就称为热的。如果对于某个任务来说,CPU 的本地缓存中没有任何数据,那么这个缓存就称为冷的。

不幸的是,保持 CPU 繁忙会出现 CPU 缓存对于迁移过来的任务为冷的情况。

6. 应用程序如何利用多Core :

开发人员可将可并行的代码写入线程,而这些线程会被SMP操作系统安排并发运行。

另外,Sam设想,对于必须顺序执行的代码。可以将其分为多个节点,每个节点为一个thread.并在节点间放置channel.节点间形如流水线。这样也可以大大增强CPU利用率。
分享到:
评论

相关推荐

    linux-让多核CPU达到指定的CPU使用率脚本

    在Linux系统中,多核CPU的使用率管理是优化系统性能和资源分配的重要环节。"linux-让多核CPU达到指定的CPU使用率脚本"是一个旨在提升机器CPU使用率的实用工具,它能帮助系统管理员更好地控制和利用计算资源。下面...

    linux下调度器 多核 CPU绑定 schedule函数等等

    本文将深入探讨Linux下的调度器、多核CPU绑定以及`schedule`函数等相关知识点。 一、Linux调度器 Linux调度器的主要目标是公平地分配CPU时间,提高系统整体性能。自Linux 2.6版本以来,其采用了CFS(Completely ...

    linux查看多核负载(经典)借鉴.pdf

    Linux 查看多核负载是每个 Linux 管理员和开发人员都需要了解的基本知识,本文将从多方面对 Linux 查看多核负载进行详细的介绍。 1. Linux 下查看每个 CPU 的使用率 在 Linux 下,可以使用 top 命令来查看每个 CPU...

    获取多核CPU使用率,设置CPU亲和性

    在IT领域,优化系统性能是至关重要的,尤其是在处理大规模数据或执行高计算密集型任务时。...在`SystemInfoDemo`这个项目中,我们可以看到如何将这些理论知识应用于实践中,以实现对多核CPU使用率的监控和性能优化。

    Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间

    在Linux系统中,使用Qt库开发应用程序时,可以利用各种系统接口来获取CPU使用率、内存占用、网络流量、磁盘I/O速度以及磁盘剩余...理解这些知识点,对于开发Linux系统的桌面应用或者后台服务监控具有重要的实践意义。

    用java取得linux系统cpu、内存的实时信息

    - **多核处理器**:现代服务器往往配备多核CPU,`/proc/stat`文件中会列出多个CPU的状态,因此在实际应用中需考虑如何处理多核的情况。 综上所述,Java获取Linux系统CPU和内存实时信息的方法不仅展示了Java语言的...

    Linux监视CPU的命令

    ### Linux监视CPU性能的关键知识点 #### 1. mpstat 命令详解 - **简介**:`mpstat` 是 `Multiprocessor Statistics` 的缩写,是一个强大的系统监控工具,用于报告与 CPU 相关的统计信息。这些信息通常存储在 `/...

    linux主机信息相关知识.

    - **定义:** 多核CPU是指在单一物理CPU芯片上集成了多个独立的CPU内核。这些内核可以同时执行多个任务或者处理多个线程,从而提高整体系统的性能。例如,常见的多核CPU包括双核(Dual-Core)、四核(Quad-Core)等。 **...

    Linux下进程绑定多CPU运行

    总结,Linux下进程绑定多CPU运行是一个重要的性能优化技术,通过合理的CPU亲和性设置,可以有效地利用多核资源,提升系统的整体性能。在实际操作中,我们可以通过编程或使用系统工具来实现这一功能。

    Vulkan CPU加速器,包含Windows和Linux版本

    Vulkan 是一种高性能的图形和计算接口,由 Khronos Group 开发,旨在提供更低级别的硬件访问,提高渲染效率,并优化多核CPU和现代GPU的工作负载。它被广泛应用于游戏开发、专业可视化、虚拟现实等领域。Vulkan API ...

    Linux_CPU_Usage_Analysis

    以下是一些关于Linux CPU使用分析的知识点: 1. **`top`命令**:这是最基本的实时性能监控工具,可以显示当前系统中各个进程的资源占用情况,包括CPU和内存使用率。 2. **`ps`命令**:用于报告当前系统中进程的...

    LINUX CPU利用率算法android.pdf

    要理解Linux下的CPU利用率算法,首先需要了解如何从/proc文件系统获取相关数据。 /proc文件系统是一个虚拟文件系统,它不占用磁盘空间,而是直接从内存中读取和写入信息,提供了内核与用户空间之间通信的桥梁。在/...

    Linux性能分析之CPU实战-视频课程资源网盘链接提取码下载 .txt

    ### Linux性能分析之CPU实战知识点概述 #### 一、课程背景与目标 - **背景**:随着技术的发展,Linux作为一款强大的开源操作系统,在服务器、云计算等领域占据着举足轻重的地位。然而,随着应用场景的复杂化,Linux...

    linux下如何看每个CPU的使用率.docx

    以下是如何在Linux下查看每个CPU的使用率的方法以及相关知识点的详细说明: 一、基本命令 Linux提供了多种命令来查看CPU使用情况,其中最常用的是`top`和`mpstat`。 1. `top`命令: `top`命令提供了一个实时的...

    Understanding the Linux 2.6.8.1 CPU Scheduler(中文翻译)

    总结,理解 Linux 2.6.8.1 CPU 调度器涉及多个层次,包括调度器的基本任务、策略、架构、决策流程以及在多核环境下的行为。掌握这些知识对于系统管理员、内核开发者以及对操作系统性能有高要求的程序员来说至关重要...

    linux 性能调优 linux performance truning

    5. **CPU调度与负载平衡**:介绍如何利用CPU亲和性设置和负载均衡策略来优化多核系统的性能,确保任务高效地分配到各个处理器核心。 6. **性能监控工具**:书中会列举并解释多种性能监控工具,如`vmstat`、`sar`、`...

    监控CPU使用状态.rar

    - 多核CPU:现代计算机多为多核心,因此CPU使用率应考虑每个核心的使用情况,如果所有核心都高,整体使用率才会显得特别高。 3. **优化策略**: - 进程优化:找出占用CPU高的进程,分析其原因,如是否存在死循环...

    新型多核网络处理器.pdf

    新型多核网络处理器的研发背景、现状、特点及其设计厂商的相关知识点,为我们展示了网络技术发展的新趋势,即通过集成化、高效率和高度可编程性的多核处理器,来应对日益增长和复杂的网络处理需求。

    LinuxCPU数量判断命令.pdf

    总的来说,通过`sysconf`函数可以轻松获取Linux系统中的CPU数量,而物理ID和核心ID的分析则有助于我们理解多核和超线程的CPU架构。这些知识在系统管理、性能优化以及资源调度中都非常重要,特别是在服务器配置和大型...

    多核编程应用 Multicore Application Programming

    ### 多核编程应用知识点详解 #### 一、多核编程概述 在计算机科学领域,随着硬件技术的发展,多核处理器已经成为现代计算平台的标准配置。《多核编程应用》这本书正是针对这一趋势,深入探讨了如何有效地利用多核...

Global site tag (gtag.js) - Google Analytics