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 小时前
虚拟机 Ubuntu 磁盘扩容完全指南:从原理到实践,一步到位
linux·ubuntu·磁盘扩容
陳10301 小时前
Linux:进程间切换与调度
linux·运维·服务器
lcreek2 小时前
Linux 虚拟文件系统的建立与使用全过程解析
linux·虚拟文件系统·vfs
寒秋花开曾相惜2 小时前
(学习笔记)第四章 处理器体系结构
linux·网络·数据结构·笔记·学习
疏星浅月2 小时前
虚拟内存三大核心作用详解
linux·c语言·arm开发·嵌入式硬件
邂逅星河浪漫3 小时前
【银行内网开发-管理端】Vue管理端+Auth后台开发+Nginx配置+Linux部署(详细解析)
linux·javascript·css·vue.js·nginx·html·前后端联调
码农小钻风4 小时前
利用Samba实现局域网跨平台共享文件
linux·samba·共享
LN花开富贵4 小时前
【ROS】鱼香ROS2学习笔记二
linux·笔记·python·学习·嵌入式
GS8FG5 小时前
Busybox生成根文件系统,并移植e2fsprogs:RK3568
linux·驱动开发
Cyber4K6 小时前
【Nginx专项】基础入门篇:状态页、微更新、内容替换、读取、压缩及防盗链
linux·运维·服务器·nginx·github