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,通常因为等待资源。
    • 非自愿上下文切换: 操作系统强制切换进程,通常因为时间片用尽或新进程的到来。
相关推荐
雾时之林1 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
sxstj4 小时前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
天疆说5 小时前
Ubuntu 26.04 下 Intel Meteor Lake 核显 + NPU 驱动配置与 PyTorch NPU 推理实测
linux·pytorch·ubuntu
mounter6255 小时前
突破单点限制:BPF 多跟踪点高效附加机制与新 ftrace 架构解析
linux·ebpf·linux kernel·kernel·ftrace
刘某的Cloud6 小时前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
小此方6 小时前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
郭涤生6 小时前
rootfs 详解与裁剪优化记录
linux·c++·bsp
铁锚7 小时前
解决Ubuntu执行sudo时 unable to resolve host 报错问题
linux·数据库·ubuntu
二宝哥7 小时前
CentOS 7.9 离线安装 Nginx 并配置openssl1.1.1
linux·nginx·centos
程序员老陆7 小时前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg