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,通常因为等待资源。
    • 非自愿上下文切换: 操作系统强制切换进程,通常因为时间片用尽或新进程的到来。
相关推荐
_dindong4 小时前
Linux网络编程:结合内核数据结构详谈epoll的工作原理
linux·服务器·网络
了一梨4 小时前
在Ubuntu中配置适配泰山派的交叉编译环境
linux·c语言·ubuntu
buyutang_4 小时前
Linux网络编程:Socket套接字编程概念及常用API接口介绍
linux·服务器·网络·tcp/ip
杨云龙UP5 小时前
从0搭建Oracle ODA NFS异地备份:从YUM源到RMAN定时任务的全流程
linux·运维·数据库·oracle
DN金猿5 小时前
恢复 Linux 上误删除的文件
linux·运维·服务器
远瞻。5 小时前
【环境配置】Ubuntu系统安装cuda
linux·运维·ubuntu
kyle~6 小时前
Linux---<unistd.h>类Unix系统编程核心头文件
linux·运维·unix
python百炼成钢6 小时前
55.Linux ADC框架(IIO续)
linux·运维·服务器·驱动开发
祎直向前6 小时前
重装Ubuntu之后重连VSCode
linux·vscode·ubuntu
buyutang_6 小时前
Linux 网络编程:深度理解网络字节序与主机字节序、大端字节序与小端字节序
linux·运维·网络