Articles of cpu usage

SQL Server突然只使用一小部分CPU

我们有一台运行SQL Server 2008的Windows 2008 R2服务器。突然,SQLServer进程拒绝超过20%的CPU使用率。 截至上周,当对db运行一个很大的查询时,它会像我所期望的那样达到100%的使用率。 我们已经有了这个服务器一段时间,似乎很奇怪,它会突然有这个限制。 这个限制导致我们的查询花费比正常情况更多的时间。 没有人(至less明知)对服务器configuration进行了任何更改。 经过一番调查,我发现了sys.dm_os_sys_memory视图。 这表明'可用物理内存高'bu同时可用的物理内存是339552kb,总共是4193848kb。 值得注意的是,这是一个运行在vmware上的虚拟服务器。 在SQL Server中是否有设置最大CPU使用率的设置? 我已经在资源pipe理器中find了这些设置,虽然现在已经closures了。 我们最近开始使用Quest Software的Spotlight for SQL Server。 它的播放数据库是在今天早上在这个服务器上很短的时间,我之后不久就注意到了这个问题,虽然我之前没有做过任何查询,所以我不知道这是不是问题的出处但是数据库在周五下午按预期工作。 Windows日志显示在创buildSpotlightPlaybackDatabase时将以下设置应用于SpotlightPlaybackDatabase。 02/21/2011 08:45:02,spid60,未知,将数据库SpotlightPlaybackDatabase的数据库选项TORN_PAGE_DETECTION设置为ON。 02/21/2011 08:45:02,spid60,Unknown,为数据库SpotlightPlaybackDatabase设置数据库选项MULTI_USER为ON。 02/21/2011 08:45:02,spid60,Unknown,为数据库SpotlightPlaybackDatabase设置数据库选项READ_WRITE为ON。 02/21/2011 08:45:02,spid60,Unknown,为数据库SpotlightPlaybackDatabase设置数据库选项AUTO_UPDATE_STATISTICS为ON。 02/21/2011 08:45:02,spid60,Unknown,为数据库SpotlightPlaybackDatabase设置数据库选项AUTO_CREATE_STATISTICS为ON。 02/21/2011 08:45:02,spid60,Unknown,为数据库SpotlightPlaybackDatabase设置数据库选项ANSI_WARNINGS为OFF。 02/21/2011 08:45:02,spid60,Unknown,为数据库SpotlightPlaybackDatabase设置数据库选项CONCAT_NULL_YIELDS_NULL为ON。 02/21/2011 08:45:02,spid60,未知,将数据库选项RECOVERY设置为数据库SpotlightPlaybackDatabase的SIMPLE。 02/21/2011 08:45:02,spid60,未知,将数据库SpotlightPlaybackDatabase的数据库选项QUOTED_IDENTIFIER设置为OFF。 02/21/2011 08:45:02,spid60,Unknown,为数据库SpotlightPlaybackDatabase设置数据库选项AUTO_CLOSE为OFF。 这些设置中的任何更改都可以修改应用于整个服务器的设置吗? 编辑#1:pipe理通过重新启动sql server来解决这个问题,不知道什么问题是摆在首位。 尽pipe问题得到了解决,但我仍然有一些问题需要理清,以前我没有意识到。 编辑#2:问题重新发生。 解决scheme是closuresSQL Server上的Spotlight中的跟踪分析,这是拖拉一切。

CPU超载,但没有进程正在使用超过1%

我正在监视一个具有双核CPU(4个虚拟CPU核心)的Cpanel(centos)服务器,它似乎被重载,因为我使用top得到了这个值: load average: 11.80, 13.30, 13.02 Cpu(s): 42.2%us, 11.7%sy, 0.0%ni, 35.6%id, 10.1%wa, 0.1%hi, 0.3%si, 0.0%st 但是,如果我看一下进程列表(使用top或ps),没有进程使用多于1% 此外,进程CPU使用率(%)的总和等于4,如果我甚至假设0%值是舍入数字,并将其更改为0.04(使用1个十进制数字进行舍入为0),总和为11(仍然小于100%)。 我怎样才能正确解释这些数据呢?是否有一些隐藏的处理过载了我的cpu。

什么时候持续100%的CPU利用率不是一个担心?

请帮助完善在我们的商店进行的讨论。 考虑以下情况。 有一个Microsoft VPC运行几个应用程序和服务(Windows 2003服务器)。 服务器有两个或三个关键angular色。 每隔一段时间CPU持续使用率就达到100%。 其中一个罪魁祸首是遗留应用程序,目前唯一真正的解决scheme是重新启动服务。 之后,CPU利用率恢复到合理的水平(平均60-80%)。 但是,当服务器处于100%CPU时,不太经常的情况是,另一个服务似乎正在使用大部分共享,这是一个分析日志的安全应用程序。 我们的运营团队的冲动是重新启动,以及当CPU挂钩。 我们的安全团队指出,这是毫无意义的,因为这个服务是以低于正常优先级运行的,所以它不会剥夺任何其他CPU的进程。 安全性认为,在这种情况下100%的CPU使用率应该不被认为是一个关键条件。 如果一个BelowNormal优先级进程正在使用大部分的CPU,那么实际上根本没有CPU的缺陷。 另一方面,操作人员对100%的CPU使用率真的成为一个没有不良后果的情况持怀疑态度,并且不想忽视这一点。 谁是对的? 安全是正确的,没有什么可担心的或者我们应该做的事情?

1或2个vCPU之间的vCPU性能

在虚拟化(主要是VMware)中,使用1个4核的CPU还是2个2核的CPU有性能优势? 我们假设运行在虚拟机上的应用程序可以使用两个CPU。

在ESXi 100%CPU上的Windows服务器在年翻转

我们有许多在ESXi服务器上运行的Windows Server 2008 R2 SP1服务器。 在2014年到2015年结束时,CPU达到100%,机器挂起。 该解决scheme似乎是Microsoft的修补程序(KB2800231)。 但是,唯一列出的下载全部用于Vista(Windows 6.0),我们的服务器是6.1。 不用说,当试图运行MSU时,它说错误,说我们有一个不受支持的操作系统。 修补程序网页( http://support2.microsoft.com/kb/2800213/en-us )表示应该有为2008 R2的下载,但它不清楚。 有谁知道这个问题的后续修复,或正确的MSU可以下载的地方?

测量覆盖networking性能的正确方法

我目前正在研究不同的Docker覆盖networking的性能(特别是UDP吞吐量)。 我通过在与Docker覆盖networking连接的两个主机之间创build点对点连接,然后在Docker容器内运行iperf来检查吞吐量来做到这一点。 我注意到,每次我运行iperf作为客户端发送数据到运行iperf作为服务器的其他容器,客户端主机的CPU使用率达到100%。 我通过运行下面的命令得到了这个结果: top -bn1 | grep "Cpu(s)" | \ sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | \ awk '{print 100 – $1"%"}' 所以,对我来说,吞吐量testing的限制因素似乎是我的主机的CPU容量,因为它运行在100%,不能产生更多的stream量来饱和networking连接。 我想知道如果这是一个iperf具体问题,所以我想用一个不同的工具运行相同的testing,但不知道哪个替代将是最好的 。 主机正在运行Ubuntu。 例如,我find了qperf , uperf和netpipe 。 另外,更一般地说,我开始想知道通常吞吐量性能的瓶颈是什么。 它不是总是CPU容量或链接的带宽 ? 哪些是与覆盖networking不直接相关的因素。 这是否意味着应用程序(或覆盖networking)的吞吐量仅取决于传输一定数量的数据所需的CPU周期数,以及如何通过networking对其进行压缩(如果这将是瓶颈的话)。

Perfmon“处理器时间百分比”计数器如何超过100%?

计数器Process(sqlservr)\% Processor Time在我的一台数据库服务器上徘徊在300%左右。 此计数器反映了SQL Server在CPU(用户模式+特权模式)上运行的总时间百分比。 这本书, Sql Server 2008内部和故障排除 ,说任何超过80%是一个问题。 这个柜台怎么可能超过100%?

为什么我的路由器CPU在40%时没有进程使用超过2%?

我有一个问题,我有Cisco 1841运行Cisco IOS 15,我得到奇怪的行为。 CPU使用率显示为40%,但没有使用这么多CPU功率的进程。 这里是一个例子: lev1841#show processes cpu sorted CPU utilization for five seconds: 41%/39%; one minute: 42%; five minutes: 32% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 96 88 147299 0 1.11% 1.04% 0.92% 0 Ethernet Msec Ti 117 40 36582 1 0.15% 0.19% 0.17% 0 IPAM Manager 240 28 36535 […]

IIS应用程序池尽pipe没有请求,CPU使用率也很高

我最近将一组Windows Server 2008 R2 / IIS 7.5服务器迁移到运行Windows Server 2012 / IIS 8的新服务器上。 我遇到了一些来自IIS的奇怪行为。 我们有2个相同的服务器,每个服务器运行2个网站,每个网站都有自己的应用程序池。 每个网站的代码是相同的。 (字面上…相同的DLL和一切,只是略有不同的configuration)。 应用程序池设置为每24小时计划一次,但在这24小时内,w3wp工作进程的CPU使用率以12.5%的增量跳转(服务器有8个处理器,所以我不认为这是巧合)。 一旦CPU使用率上升,它不会回落,直到应用程序回收。 据我所知,该应用程序是什么都没有做,并在这个时候处理任何请求。 我可以阻止到服务器的所有stream量,CPU使用率将停留在那里。 我甚至可以重新启动网站,并且CPU使用率保持不变。 重置CPU使用率的唯一方法是回收或重新启动运行的应用程序池。 我有点确定,这个问题与我的代码没有任何关系,但是某种不好的IISconfiguration,或者IIS 8的改变在硬件configuration方面工作不佳或什么的? 不确定是否重要,但这些是Rackspace Performance Cloud服务器。 下面是一个屏幕截图,向您展示这些服务器上的CPU负载(绿色箭头指向应用程序池回收的时间),您可以看到每个平台是12.5%的整数倍: 有没有人观察过这种行为? 我从2009年发现了这个问题,与某些人似乎是与IIS 6相同的问题: IIS w3wp使用高CPU没有stream量 任何帮助深表感谢

为什么空闲的虚拟机使用这么多的CPU?

在Ubuntu 10.04上运行的KVM虚拟化平台上有两台虚拟机作为guest虚拟机运行。 一个VM是Ubuntu 10.04系统,另一个是Windows 7系统。 当两台机器完全注销时,Linux机器使用1%的CPU,而Windows使用45-50%。 virt-manager中的图表似乎支持这一点。 Win7映像上没有安装任何可以在后台运行的映像; 它尽可能新鲜。 为什么Windows虚拟机使用远远多于Linux虚拟机,当它们都注销和空闲? 编辑: 我从一开始就安装了paravirt存储和networking驱动程序。 我不相信有其他司机,我错过了,我错了吗? 据客人的任务经理说,这确实是空闲的。 Taskman占用来宾CPU的大约1%或2%,但是没有任何其他进程占用CPU时间。