ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

01.linux性能优化-平均负载

2022-09-09 19:02:49  阅读:274  来源: 互联网

标签:负载 01 线程 切换 linux 进程 上下文 CPU 内核


uptime:

21:09:41 (time) ,up 35 min, (系统运行时间), 2 users, (登录用户数),load average: 0.00, 0.01, 0.04 (平均负载 1分钟 五分钟 十五分钟)

一. 平均负载

平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数平均负载/CPU核数。
可运行状态:正在使用CPU(running)或正在等待CPU(runnable)的进程
不可中断状态:正在请求硬件响应(可理解为正常服务因得不到硬件响应的持续请求进程)

二.CPU上下文切换
CPU上下文:CPU寄存器:速度极快的内存。程序计数器:存CPU正在执行的指令位置或即将执行的下一条指令位置
CPU上下文切换就是把上一个任务的CPU上下文保存,然后执行新任务的CPU上下文
CPU上下文切换分为进程上下文切换、线程上下文切换、中断上下文切换

(1).进程上下文切换:进程由内核管理调度 当发生进程上下文切换时 因比特权模式切换(系统调用)多出要保存或恢复进程的虚拟内存、栈、全局变量、内核堆栈、寄存器等内核空间状态 因此会耗费大量的使用CPU 进程被调到CPU运行情况(进程调度)类别:

1、CPU划分为一段段时间片轮流分配给各个进程 当某个进程时间片耗尽就会被系统挂起切换到其他正在等待CPU的进程运行
2、系统资源不足时,进程被挂起 ,系统调度其他进程
3、进程主动将自己挂起
4、当有优先级更高的进程运行

(2).线程上下文切换:线程是调度的基本单位,进程则是资源拥有的基本单位
1、进程只有一个线程时,他们可以理解为同一类
2、当一个进程对应多个线程时,这些线程会共享相同的虚拟内存和全局变量等资源这些资源在上下文切换时不需要改变故消耗资源减少
同为上下文切换时 同进程内的线程切换比多进程间的切换更省资源

(3).中断上下文切换:打断进程的正常调度和执行 比进程切换拥有更高的优先级
(进程运行空间分为内核空间和用户空间。 内核空间可直接访问所有资源,用户空间只能访问受限资源不能访问硬件设备 必须用过调入陷入到内核中才能访问 )
系统调用:用户空间和内核空间的切换为特权模式切换 (不会涉及到虚拟内存等进程用户态的资源也不会切换进程)
过多的上下文切换会导致资源大部分使用在保存寄存器、内存栈以及虚拟内存等数据上从而导致真正的进程运行时间被缩短导致系统整体性能大幅下降

标签:负载,01,线程,切换,linux,进程,上下文,CPU,内核
来源: https://www.cnblogs.com/mooa/p/16673733.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有