【单核cpu有哪些 单核cpu是什么意思】>
前言做为一个性能测试工程师,每当我们发现计算机变慢的时候,我们通常的标准姿势就是执行 uptime 或 top 命令,来了解系统的负载情况 。
比如像下面这样,我在命令行里输入了 uptime 命令,系统会返回一行信息 。
appletekimbp:~ apple$ uptime20:44up 21 days,6:41, 2 users, load averages: 2.85 2.33 2.91但我想问的是,各位同学知道以上每列输出的含义吗?
20:44# 当前时间up 21 days,6:41# 系统运行时间2 users# 正在登录用户数# 系统的平均负载,分别是1分钟、5分钟、15分钟内系统的平均负载load averages: 2.85 2.33 2.91 这行信息的后半部分,显示 “load average”,它的意思是”系统的平均载荷”,里面有三个数字,我们可以从中判断系统负载是大还是小 。
什么是系统平均负载?我猜一定会有同学会说,平均负载不就是单位时间的 CPU 使用率吗?上面 2.85,就代表 CPU 使用率是 285% 。其实不是这样的 。
CPU 负载值在 Linux 系统中表示正在运行,处于可运行状态的平均作业数(读取一组与流程执行线程对应的机器语言的程序指令),或者非常重要,休眠但不可中断(不可交错的休眠状态)) 。也就是说,要计算 CPU 负载的值,只考虑正在运行或等待分配 CPU 时间的进程 。不考虑正常的休眠过程(休眠状态),僵尸或停止的过程 。简单来说,平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系 。
进程状态代码 R 正在运行或可运行(在运行队列中) D 不间断休眠(通常为IO) S 可中断休眠(等待事件完成) Z 失效/僵尸,终止但未被其父 T 停止,由作业控制停止信号或因为它被追踪 […]这里先解释下,可运行状态和不可中断状态 。
可运行状态的进程,指的是正在使用CPU或者正在等待CPU的进程,也就是我们常用 ps 命令看到处于 R 状态(Running 或 Runnable)的进程 。
不可中断状态的进程,指的是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如常见是等待硬件设备的 I/O 响应 。也就是我们在Ps 命令看到的D状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程 。比如,当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到磁盘回复前,它是不能被其他进程或者中断打断的,这个时间的进程就处于不可中断状态 。如果此时的进程被打断,就容易出现磁盘数据与进程数据不一致的问题 。所以,不可中断状态实际上是系统对进程和硬件设备的一种保护机制 。因此,我们可以简单理解为,平均负载其实就是平均活跃进程数 。平均活跃进程数,直观上的理解就是单位时间内的活跃进程数 。既然平均的是是活跃进程数,那么理想的是,每个CPU上都刚好运行着一个进程,这样每个CPU都得到了充分利用 。
以下是单核处理器计算机中不同负载值的含义:
- 0.00:没有任何作业正在运行或等待 CPU 执行,即 CPU 完全空闲 。因此,如果正在运行的程序(进程)需要执行任务,它会向 CPU 请求操作系统,并立即为该进程分配 CPU 时间,因为没有其他进程在竞争它 。
- 0.50:没有任何作业在等待,但 CPU 正在处理以前的作业,并且它正在以 50% 的容量进行处理 。在这种情况下,操作系统还可以立即将 CPU 时间分配给其他进程,而无需将其置于保持状态 。
- 1.00:队列中没有作业,但 CPU 正在以 100% 的容量处理先前的作业,因此如果新进程请求 CPU 时间,则必须将其保留到另一个作业完成或当前 CPU 插槽时间(例如,CPU tick)到期,操作系统决定哪一个是下一个给定的进程优先级 。
推荐阅读
- ip代理是怎么做出来的 代理ip有什么用
- 怎样选择电热水壶呢
- 电热水壶烧的开水真的对人们健康有影响吗
- 我们要明白哪些电热水壶是有问题的
- 喝电水壶烧开的水对健康有影响吗
- 长期喝电热水壶烧的开水对健康有影响吗
- 每天喝电热水壶烧得水真的会有什么危害吗
- 长期喝电热水器烧的开水对健康有影响吗
- 长期喝电热水壶烧的开水对我们的健康有影响吗
- 长期喝电热水壶烧的对身体健康有哪些影响
