加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Linux服务器性能分析之CPU利用率

发布时间:2019-03-08 22:16:13 所属栏目:业界 来源:博客园
导读:副标题#e# 1. 指标范围 1.1 User mode CPU utilization+ System mode CPU utilization 合理值:60-85%,如果在一个多用户系统中us+sy时间超过85%,则进程可能要花时间在运行队列中等待,响应时间和业务吞吐量会受损害;us过大,说明有用户进程占用很多cpu时间

进程调度的算法应该比较简单,以便减少频繁调度时的系统开销。Linux执行进程调度时,首先查找所有在就绪队列中的进程,从中选出优先级最高且在内存的一个进程。如果队列中有实时进程,那么实时进程将优先运行。如果最需要运行的进程不是当前进程,那么当前进程就被挂起,并且保存它的现场所涉及的一切机器状态,包括计数器和CPU寄存器等,然后为选中的进程恢复运行现场。

4.3 用户级线程与内核级线程

在许多类Unix系统中,如Linux、FreeBSD、Solaris等,进程一直都是操作系统内核调用的最小单位,也都采用多进程模型。后来引入了线程概念,有以下两种概念的线程:

用户级线程(User-Level Thread,ULT)。由应用进程利用线程库创建和管理,不在内核中实现线程,只在用户态中模拟出多线程,不依赖于核心,操作系统内核完全不知道多线程的存在。

内核线线程(Kernel-Level Thread,KLT),又称为内核支持的线程或轻量级进程。是在核心空间实现的,内核为每个线程在核心空间中设置了一个线程控制块,用来登记该线程的线程标识符、值、状态、优先级等信息,所有对线程的操作,如创建、撤销和切换都是通过系统功能调用由内核中的相应处理完成,内核维护进程及线程的上下文切换以及线程切换,类系统中一般通过修改进程的实现方式来实现,可以使用不完全的进程创建方式创建共享数据空间的进程,在 Linux下这种系统调用为clone(),而在FreeBSD下它为rfork()。

5. 常见误区

5.1 Cpu利用率很高就是cpu资源不够

出现cpu计数器不在范围时,不一定是由于cpu资源不够,,因为其他资源的也会引起,例如内存不够时,cpu会忙内存管理的事,表面上可能是cpu的利用为100%

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!