linux性能优化

文章目录


性能优化图

CPU

进程和cpu原理

  1. 进程与线程:

    • 进程是程序的执行实例,有自己的地址空间和系统资源。线程是进程内的执行单元,共享进程的资源。
    • 在多核系统中,使用多线程可以更好地利用多核处理器的性能。
  2. CPU调度:

    • Linux使用调度器来确定哪个进程或线程在给定时间片内执行。
    • 调度策略可以通过调整进程的优先级、使用不同的调度算法或使用cgroups来限制资源来进行优化。
  3. 中断系统:

    • 中断是硬件或软件事件的异步通知,可导致CPU切换执行不同的任务。
    • 通过合理管理中断处理程序,可以减少中断延迟,提高系统响应性。
  4. CPU缓存:

    • 缓存是提高计算机性能的关键因素,包括L1、L2和L3缓存。
    • 优化内存访问模式、数据结构布局,以及避免缓存伪共享等方式,可以提高缓存的命中率。
  5. NUMA(非一致性存储访问):

    • NUMA是一种多处理器体系结构,其中每个处理器连接到共享内存的一个区域。
    • 通过合理分配任务、数据,以及使用NUMA感知的调度策略,可以减少内存访问的延迟。

性能指标

  1. 平均负载(Load Average):

    • 平均负载是系统中活跃进程数的平均值,通常包括1分钟、5分钟和15分钟的负载。
    • 负载高可能表示系统过载,需要进一步分析具体原因。
  2. CPU缓存命中率:

    • 缓存命中率表示从缓存中成功获取数据的比率。高缓存命中率通常是良好性能的指标。
    • 包括L1、L2和L3缓存,优化算法和数据结构可提高缓存命中率。
  3. CPU使用率中的各项指标:

    • 用户CPU(User CPU): 应用程序代码运行所占用的CPU时间。
    • 系统CPU(System CPU): 操作系统内核代码运行所占用的CPU时间。
    • IOWAIT: CPU等待I/O操作完成的时间。
    • 软中断: 由软件触发的中断,例如网络数据包到达。
    • 硬中断: 由硬件设备触发的中断,例如磁盘I/O完成。
    • 窃取CPU(Steal CPU): 在虚拟化环境中,宿主系统从虚拟机中"窃取"走的CPU时间。
    • 客户CPU(Guest CPU): 在虚拟化环境中,虚拟机使用的CPU时间。
  4. 上下文切换中的自愿和非自愿上下文切换:

    • 自愿上下文切换: 进程主动释放CPU,通常因为等待资源。
    • 非自愿上下文切换: 操作系统强制切换进程,通常因为时间片用尽或新进程的到来。
相关推荐
Xの哲學36 分钟前
Linux grep命令:文本搜索的艺术与科学
linux·服务器·算法·架构·边缘计算
夜月yeyue1 小时前
Linux 调度类(sched_class)
linux·运维·c语言·单片机·性能优化
VekiSon2 小时前
Linux系统编程——IPC进程间通信:信号通信与共享内存
linux·运维·服务器
南山nash2 小时前
CentOs7 安装 Docker 详细步骤
linux·运维·docker·容器
徐先生 @_@|||2 小时前
Conda最基础使用命令
linux·windows·conda
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [fs][drop_caches]
linux·笔记·学习
咩咩大主教3 小时前
VSCode远程连接Linux部署的Docker
linux·vscode·docker
名誉寒冰3 小时前
GDB 调试与 Core Dump(段错误)排查指南(Linux/C/C++)
linux·c语言·c++
fufu03113 小时前
Linux环境下的C语言编程(四十六)
linux·运维·服务器
qq_418247883 小时前
Linux上部署conda环境
linux·运维·神经网络·机器学习·conda