Articles of cpu usage

确定CPU上的线程是否被阻塞? 线程块的原因是什么?

uptime命令报告的负载平均值也显示在top提供平均运行队列长度(1,5和15分钟) 运行队列长度是当前正在运行的线程(任务)数量与等待(排队)运行的数量之和。 run-queue length = tasks running + tasks waiting (for cores) + tasks blocked 阻塞任务的最常见原因之一是慢速/繁忙磁盘。 当进程处于不间断磁盘睡眠/等待状态时, ps aux的状态字段(STAT)会给出“D”。 但是,当进程被阻塞时,可能还有其他的情况。 问题 有什么办法可以获得关于cpu运行队列的特定组件的更详细的信息。 例如,打破的列表:任务运行+任务等待(核心)+任务被阻止? ps中的状态字段以外的其他实用程序可用于确定哪些任务被阻止? 忙磁盘以外的其他条件会导致任务被阻塞,应该使用哪些实用程序来确定这些条件是否存在? 谢谢!

XenServer dom0的CPU占用时间过长有什么影响?

据我所知,CPU的盗取时间是虚拟机内核要求的CPU时间,但被虚拟机pipe理程序拒绝,因为它正在服务另一个虚拟机。 根据我的经验,在运行数十个虚拟机的XenServer上,虚拟机和虚拟机中的窃取时间会不断增加(在一小部分虚拟机中可以看得更清楚)。 XenServer dom0上的高CPU窃取时间对整个系统性能有什么影响? dom0比其他VM有更高的优先级吗?

资源监视器显示服务的不正确(?)CPU使用情况

我的Windows Server 2012 R2上的资源监视器显示进程oracle.exe ( oracle.exe %)的CPU使用率较高。 但是,它也表明CPU使用率被分为完全不相关的服务。 即Windows防火墙,shell硬件检测和DHCP客户端的服务共享CPU时间的25%左右。 这是怎么回事? 这是资源监视器中的错误,还是我在这里错过了一些东西?

稳定KVM虚拟机的CPU使用率

我在这里运行Ubuntu 16.04作为KVM主机。 在虚拟机上运行Windows时间关键的进程(UDPvideostream) 有时在主机上运行其他进程时,会影响VM的CPU使用率,这样我的stream中就会出现一个小错误。 我玩renice (-10), ionice和chrt (-r -p 70),但它只有一点影响。 看起来,CPU调度程序需要一个短暂的时间来设置优先级,这个时间会很长。 但是我现在不是,我不是内核专家。 我的虚拟机没有更多的CPU核心,然后我的主机有,实际上剩下两个,平均CPU使用率是20%左右。 在主机上也运行DHCP,DNS和spuid / squidguard以及一些crons,但都没有太多的CPU使用。 例如,我也可以用压力-c 6来模拟一个错误。 有没有办法来稳定VM的CPU使用率? 我想在CPU上固定,但有些人不推荐这个。 KVM版本是2.5,在Windows上所有的virtio驱动程序是一个新的。

从1.8升级到11.23.1后,CPU负载过高

如果有更多的数据可以提供,请随时向我开枪。 我已经浏览了一些关于serverfault和其他博客的博客,并尽可能地收集了更多的信息。 我想跟踪/修复高CPU负载的原因。 随着这台服务器的呼叫几乎在未来6个月翻一番 自升级系统以来,CPU负载已经相当高。 这是裸机设置,没有virtulization:8核心32 G RAM在高峰时间处理600+呼叫从自Asterisk 1.8升级到11.23.1以来,负载平均可以高达50注意到这11.23.1 Linux版本 – Linux版本3.16.0-4-amd64 ([email protected]) 另一台使用Asterisk 1.8的机器具有类似的高负载问题。 以下是一些输出: top – 12:52:25 up 487 days, 15:12, 4 users, load average: 49.90, 28.53, 20.71 Tasks: 192 total, 1 running, 191 sleeping, 0 stopped, 0 zombie %Cpu(s): 14.1 us, 11.0 sy, 0.1 ni, 72.0 id, 0.6 wa, 0.0 hi, 2.1 […]

rabbitmq:有数百名芹菜工,beam.smp消耗CPU> 200%

我有一台带有rabbitmq服务器和4台芹菜工作站的机器( test-server ),另外一台机器( test-worker )有240名芹菜工人,它们连接到test-server服务器上的rabbitmq test-server 。 所有队列目前都是空的。 有了这个设置, beam.smp (我收集的是一个rabbitmq相关的进程)在200-250%的CPU,并消耗几百MB的RAM(这可能是好的,不知道)。 如果我停止远程机器上的工作,它将恢复正常。 如果我只启动例如40个工人,而不是240个,那么它或多或less都可以 – 仍然占用CPU,但是大约有50%。 主要的beam.smp线程卡在select ,我认为是好的,因为它只是在听线程的子线程。 以下是子线程的一个子集。 有一些调用epoll_wait与零超时,还有很多futex调用。 我也发现这个错误,在oslo中描述(不知道是什么) https://bugs.launchpad.net/oslo.messaging/+bug/1518430 ,也提到了零超时epoll_wait调用,并提到rabbitmq。 任何想法,如果这是兔子在这些条件下的预期行为? 我应该在哪里寻找原因? 谢谢 test-server$ sudo strace -p 26866 2>&1 | head -n 50 Process 26866 attached futex(0x82e500, FUTEX_WAKE_PRIVATE, 1) = 1 epoll_wait(3, {}, 256, 0) = 0 clock_gettime(CLOCK_MONOTONIC, {87999, 785829269}) = 0 futex(0x82e500, […]

Apache最近在闲置时使用增加的CPU

我已经使用标准的LAMP堆栈运行Ubuntu 14.04服务器已经有一段时间了,并且通过每天发送的电子邮件让系统每小时平均地使用CPU。 很长时间以来,这个报告大部分时间都是在90年代以前报告CPU空闲时间(这是一个轻载服务器)。 大约一个月前,这个改变了,服务器现在报告空闲时间在80年代,而不是90年代。 top显示apache是​​大多数CPU的用户: top – 00:20:43 up 39 days, 22:34, 1 user, load average: 0.34, 0.41, 0.39 Tasks: 165 total, 2 running, 163 sleeping, 0 stopped, 0 zombie %Cpu(s): 10.0 us, 0.7 sy, 0.0 ni, 89.2 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem: 6110180 total, 5500892 used, 609288 free, […]

非常高的CPU负载低到中VPS上的RAM使用率(超过100%的CPU)

我在VPS Virtuozzo服务器上使用: 8GB内存 6个CPU SSD硬盘 Debian 8.8 PHP 5.6.30 MySQL 5.5.55 只有一个网站是服务的。 它是一个带有SSLfunction的网站,大约有22000篇文章。 它获得中等stream量,大约8k用户,每天18k的综合浏览量。 由于网站的性质,我们得到了很多不好的机器人请求和黑客攻击。 fail2banconfiguration和报告良好。 顶部-i报告有时mysql的CPU%为200。 Virtuozzo报告 CPU使用率99.9% CPU负载平均7.13,7.42,6.97 内存42% 结果在某些时候apache暂停并重新启动。 my.cnf文件: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = […]

分析单个CPU的活动,而不是总CPU的总和用于什么是有用的?

我正在构build一个监视器来跟踪所有可能有用的Linux / proc数据,以了解服务器的行为。 我仍然无法理解,如果我应该跟踪每一个CPU(并在虚拟环境中,他们可以很多),或者我可以跟踪整体CPU活动(这基本上是单个CPU的总和)。 跟踪单一的CPU意味着吨数据存档,而总CPU只是一个和所有其他的总和(甚至更多的可读性比看到10-12不同的情节)。 我真的想与总CPU一起去,但我想知道是否有特定的情况下,每一个CPU的每一个跟踪可以“拯救”系统pipe理员的生活。 是否有任何情况下,总CPU可以对CPU活动进行分析?

SQL Server 2005更喜欢每个CPU的单个核心?

嗨伙计, 我有一个SQL Server 2005系统,有4个CPU,每个都有4个内核。 目前主要利用4个核心,即4个徘徊在90%左右的利用率和其他接近30%。 我假设4个核心是一个来自每个CPU,虽然我不确定。 这是预期的行为有没有人知道? 将增加的负载分配到额外的核心,而不是进一步加载到目前4.这是否表明我应该调查的其他问题? 在峰值负载情况下,我预计至less同时有超过40个连接,并且大多数(如果不是全部的话)将被设置为允许脏读取。 由于这个原因,我不认为这与工作负载到达SQL Server有什么关系,而是它如何select使用它可用的CPU资源。 谢谢, 知更鸟