Linux系统调优

Linux系统调优


进程调度

  • 现代计算机的操作的系统:将cpu、内存虚拟后,在所谓的操作系统也成为进程监视器的管理基础之上,能够给进程按需求或者按照调度标准将其运行的资源尾数并不充沛的cpu和内存之上完成运行
  • 现代计算机的运行频率都很高所以使得很多进程所需要的完成量,在很短的时间内就能完成由此假象就是看似很多进程在cpu看似都是在同时运行,但实际上单颗cpu上仅能运行单个进程(并行运行的假象),也是这种技术在cpu的数量在远远少于进程数量基础上实现了多程序共同运行。所以不得不需要有监控程序将进程运行需要的资源调度到cpu和内存中完成运行

  • 操作系统-OS:计算机硬件抽象,虚拟计算机
    • 程序员在编程时本身是在调用的硬件规格来实现的,但是有了操作系统后程序员不直接面对硬件,而是面对操作系统接口编程
      • system call
  • cpu

    • CPU在抽象虚拟能被OS运行多个进程的方式是通过时间分片机制
    • time slice : 时间片(对cpu的虚拟化)
      • 范例:每五毛秒做一个片段,将这些片段根据某种机制,分配给嗷嗷待哺的进程,进而实现进程都可以运行,当时间片到期后无论进程是否愿意都要退场释放cpu资源
    • 优先级,获得cpu顺序的优先级
      • 进程的优先级:0~139
        • 实时优先级:0~99
        • 静态优先级:100~139
    • 调度器:CFS完全公平调度器
      • 调度器本身也是一个程序,根据某种算法对进程的数量进行调度,是由内核中的调度系统的子系统提供(算法越低越好,越短时间内可以完成调度越好,代表着可以将更多的cpu资源来处理进程)
      • linux内核使用的调度器:
        • 时间的复杂度 Big O
  • Memory

    • 对于内存而言,可以分隔为两段(内核使用/进程使用),称之为用户空间和内核空间
    • 内存被进程看到后也都是虚拟后的内存称之为虚拟地址空间
      • 内核使用–内核空间
      • 进程使用–用户空间
    • inter早期引入一个PAE机制 :物理地址扩展,线性地址空间未被扩展

    • mysql:本身为单进程多线程模型,基于时间调度机制,一个进程内部有多个事件流程处理多种不同任务和流程的

    • 对于整个进程运行而言由于要将线性地址空间映射至物理地址空间,需要将地址空间分页: page frame:

-------------------码字不易尊重原创转载标注不胜感激-------------------
Yes or no?
0%