linux线程负载,linux – 在4核8线程处理器上解释系统负载的正确方法

不确定,但主要是在1.00 * n_cpu.

负载意味着:如果单CPU系统上有多个进程,它们看起来是并行运行的.但事实并非如此.实际发生的事情:内核给进程提供1/100秒,然后用中断中断运行.并将下一个1/100秒提供给另一个流程.

实际上,“哪个过程应该在下一个1/100秒间隔?”这个问题将由复杂的启发式方法决定.它被命名为任务调度.

当然,被阻止的进程,例如他们正在等待他们从磁盘读取的数据,可以免于此任务调度.

什么负载说:当前有多少进程正在等待下一个1/100秒的时间帧.当然,这是一个平均值.这是因为你可以在cat / proc / loadavg中看到多个数字.

多CPU系统中的情况有点复杂.有多个cpus,其时间范围可以给予多个进程.这使得任务调度有点 – 但不是太多 – 更复杂.但情况是一样的.

内核是智能的,它试图共享系统资源以获得最佳效率,并且它已经接近(有一些小优化的东西,例如,如果一个进程在相同的时间运行最长的时间会更好cpu因为缓存考虑因素,但它们并不重要).这是因为如果我们有加载8,那意味着:实际上有8个进程在等待它们的下一个时间片.如果我们有8个cpus,我们可以将这些时间片一对一地给予cpus,因此我们的系统将得到最佳使用.

如果您看到顶部,您可以看到实际运行进程的数量非常低:它们是由R标记的进程.即使在非真正的核心系统上,它通常低于5.这部分是因为从磁盘或网络等待其数据的进程也被暂停(在顶部用S标记).负载仅显示cpu使用情况.

还有一些工具可以测量磁盘负载,它们至少应该像CPU使用情况监控一样重要,但不知怎的,它在我们的专业系统管理员世界中并不是那么出名.

Windows工具通常将负载除以cpu的实际数量.这导致一些专业的Windows系统管理员在这种以cpu分割的意义上使用系统负载.他们没有权利,在你向他们解释之后可能会更开心.

多核CPU实际上是同一硅芯片上的多个CPU.没有区别.

在超线程CPU的情况下,有一个有趣的副作用:加载一个CPU会使其超线程对速度变慢.但是这发生在正常任务调度处理的更深层上,尽管它可以(并且应该)影响调度程序的流程移动决策.

但从我们目前的观点来看 – 决定系统负荷的因素 – 也无关紧要.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值