tl; dr: 第一个CPU内核一直饱和,所有其他内核一直加载不足。 基于Ubuntu的Xen XCP中的虚拟机: $ uname -a Linux MYHOST 2.6.38-15-virtual#59 -Ubuntu SMP Fri Apr 27 16:40:18 UTC 2012 i686 i686 i386 GNU / Linux $ lsb_release -a 没有LSB模块可用。 经销商ID:Ubuntu 说明:Ubuntu 11.04 发行date:11.04 代号:natty 该虚拟机有8个CPU内核。 在此虚拟机上运行的单线程工作进程有10个,通过FCGI接口连接到nginx服务器(侦听本地networking端口)。 在AB的合成载荷下, 只有第一个8的核心加载到100% (从htop )。 它一直保持在很高的负载下, 所有其他内核在0到100%之间任意加载, 或多或less是随机的 (这些内核的CPU负载正在跳跃)。 以下是我通常在htop加载的内容: 1 [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ||| | | | | | | | […]
目前我在运行Magento的服务器上遇到麻烦,速度令人难以置信。 这是一个用于开发的几个Magento安装VPS,所以我是唯一使用它们的。 当我每隔两秒钟完成4次请求后,我在10秒内完成。 慢,但仍然在我的耐心范围之内。 当我做4个“并发”的请求,但是(很快就打开4个标签),所有的四个核心都去100%,并留在那里一分钟。 这怎么可能? 我知道这里有很多的可能性,所以如何使Apache / PHP服务器更快的提示也是受欢迎的。 它曾经快很多,我也尝试过APC,但它一直在导致问题(PHP错误,内存池的东西),所以我已经禁用它。 顺便说一句,Magentocachingclosures,编译也closures。 我知道这使得Magento比平常慢,但我不认为任何Magento安装60秒的响应时间是正常的。 虚拟硬件: 4核和4096MB RAM 从不使用交换(使用htop检查)100GB磁盘空间,其中10%正在使用 软件: Debian 6 DirectAdmin和apache的custombuild PHP 5.2.17(CLI) 如果你需要更多的信息,请告诉我如何得到它,因为我可能不知道如何。 我知道如何在Linux中使用命令行以及使用相当多的命令,但是我pipe理服务器的经验是有限的。
我有几个服务器,运行Server 2003 Std / Ent和SQL 2000/2005,我注意到将开始显示更高的CPU使用率随着时间的推移。 停止WMI服务并重新启动它将始终将其重新closures。 这不是一个巨大的蠕变,但一个月后将增加10%左右,即使在空闲时间,它也会显示10%的CPU使用率。 我们不大量使用WMI,只是检查服务状态的几个脚本,以及perfmon(它是否使用WMI?),这是如何被注意到的。 是否有WMI跟踪工具? 任何其他方法来解决这个问题? 显示症状的服务器有很大的不同,没有OS和SQL以外的常见元素。
最近我的networking服务器出现了一些奇怪的问题。 在过去的一天左右,这个网站似乎随机有所放缓,我们似乎没有遇到任何大的额外stream量,但是快速浏览“top”和httpd似乎是从3-10 %到99%左右,然后在80年代中期之后短暂触及然后回落。 例如: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2443 apache 25 0 256m 20m 5472 R 88.2 2.1 3:22.29 httpd 这似乎每30分钟左右发生一次。 奇怪的是同时发生这种情况我可以运行Apache服务器状态页面,并将获得(例如): CPU Usage: u700.5 s6.22 cu0 cs0 – 20.2% CPU load 所以我的问题是双重的: 有谁知道为什么这个问题可能在最后一天左右出现(没有对服务器进行任何修改) 为什么我的CPU使用率统计数据会远远高于服务器状态,哪个是正确的?
我有一台Server 2008 R2terminal服务器,在过去的三个月里,这个服务器的使用率非常低(一个小时一个用户,一天一次)。 突然之间,我无法理解, mscorsvw.exe (.NET Runtime Optimisation Service)已经开始消耗100%的处理器,导致各种报警和触发器closures。 这是一个重复的模式,所以下一步将要发生什么事情是相当可预测的: 有谁知道可能会导致这种情况? 我已经做了明显的(重新启动服务器),但除此之外,我是SOL。 我唯一能想到的可能是相关的是我今天早上通过WSUS批准了六个Windows Update,但是它们不是在明天上午2点之前安装(其中一些与.NET 4安全性有关)。 没有人login到服务器(除了我),即使他们,我们没有任何.NET应用程序在那里使用。
我们arrays中的一台CAS服务器使用了4个CPU中的近90%。 其余的CAS服务器在30%。 我应该如何调查导致这种增加的原因? 下面是一个图表: 六(6)CAS服务器在RPC / HTTPS(Outlook随处)模式下为3,000个用户提供服务。 Windows 2008 R2 最近升级到Exchange 2010 SP1 RU6(在RU3上的行为相同) 每个CAS服务器都有四(4)个虚拟CPU 兴趣点 由于我们要求最终用户针对不同的URLconfigurationActivesync,因此我们在负载平衡器上设置了一个专用的VIP,并隔离了底部的两个CAS服务器。 这样做很容易…我们改变了公共DNS的条目,以促进隔离。 (我希望MSFT的最佳实践将鼓励一个孤立的URL Activesync部署) 黑色的高CPU来自ActiveSync。 绿色尖峰来自RPC客户端访问服务。 我在服务器上运行MSFT的DebugDiag ,不知道这是否是正确的工具,或者如何处理更高级的结果。 任何提示都表示赞赏。
我是一个完全不知道VMware的人,但是我最近在ESXi上安装了4个虚拟机。 3个虚拟机是非资源密集型的(一个使用率较低的文件服务器,一个使用较less的域控制器和一个VMware vMA主机),另外一个是资源密集型的(一个terminal服务器在我十几个人身上使用办公室)。 terminal服务器虚拟机在繁忙时间运行缓慢。 看看vSphere中的性能总结,似乎CPU已经高达90%以上,我的磁盘延迟图也有一些尖峰,偶尔也会高达500ms左右。 我还没有在VMware中configuration任何资源分配设置,并且总是认为在不太繁忙的虚拟机不需要它们的情况下,允许更繁忙的虚拟机使用可用的资源。 不过,看起来情况并非如此,因为整个服务器的CPU图表从未超过10%,磁盘延迟也不会超过4ms。 所以这告诉我也许我需要在VMware中configuration一些资源分配的东西,但我不太明白我应该在这种情况下configuration什么。 我应该增加vCPU的数量还是configuration处理器亲和力? 还是应该使用股票或预订function? 本质上,我不想完全饿死资源的其他虚拟机,但我希望terminal服务器能够使用似乎可用的系统资源。 预先感谢任何指导。
大多数时候,当我的电脑开始需要交换时,我看到CPU使用率大幅上升( kswapd0始终使用99%-100%的CPU)。 根据top ,时间花在sy (系统/内核)而不是wa (IO等待)。 我正在C720上运行Linux 4.0.4-2-ARCH,内存为2GB,固态硬盘为6GB。 我似乎有这个问题有或没有丢弃页面(TRIM)打开。 有什么设置我应该检查或调整,看看我能解决这个问题吗? 有什么方法可以debugging这个问题吗? 像内核线程strace东西? 使用默认的Arch Linux设置运行: /proc/sys/vm/swappiness = 60 /proc/sys/vm/vfs_cache_pressure = 100 /sys/kernel/mm/transparent_hugepage/enabled = [always] madvise never
来自StackOverflow的X-Post: https://stackoverflow.com/questions/9465123/intermittent-high-cpu-100-on-production-webserver 我们有一个带有3个Web服务器的Web集群,每个Web服务器有24个内核和24GB内存。 我们的应用程序是最新的补丁ASP.NET 4.0,与MVC3,在IIS 7.5 – 在它自己的应用程序池。 非常间歇地(可能每2/3天一次)其中一个networking服务器将停止服务请求,并且所有24个内核将显示100%的CPU(内存和磁盘看起来正常)。 在IISpipe理器没有完全冻结的情况下,有效的运行请求似乎没有提供任何有用的信息,在很多站点区域/请求中都是非常随机的。 一旦服务器死了,我们可以把它卸载 – 在5分钟的不再服务的请求之后,CPU的活动将回落到正常状态 – 这使我们认为这不是一个无限循环。 工作进程的内存转储(大小约为4GB)似乎没有显示任何位于任何托pipe堆栈跟踪中的任何代码/名称空间 – 但只是.net开始请求的东西(这是可能的我使用WinDbg错了 – 并没有正确加载我们的符号 – 但堆栈跟踪不显示任何缺less/未命名的方法调用 – 所以我很困惑) 我们的服务器通常很快乐地处理1000请求/秒,所以这非常奇怪。 我们在Perfmon中注意到的一件奇怪的事情是竞争率达到800.我们的应用程序中没有任何花哨的multithreading代码,我们唯一的locking在我们的caching代码中年龄改变)。 任何意见/提示如何进一步诊断这个问题将不胜感激。 干杯。
前言我在AMD64芯片组上使用了内核3.2的Debian Wheezy。 我的机器有两个Xeon E5-2690核心。 我设置了引导参数,以便一个CPU上的所有内核专用于一个进程。 为此,我已经在grub中设置了isolcpus = 8,9,10,11,12,13,14,15。 到现在为止还挺好。 现在,让我们说我想使用一个给定的命令孤立的CPU,简单的我只是使用一个简单的无限循环: $ taskset -c 8-15 bash -c'while true; 做echo hello> / dev / null; 完成“ 目前为止,顶级显示核心8的利用率接近100%。 现在让我们说我再次启动该命令: $ taskset -c 8-15 bash -c'while true; 做echo hello> / dev / null; 完成“ 现在顶部显示核心9-15保持空闲,这两个进程共享核心8.如果相反,我这样做: $ taskset -c 8 bash -c'while true; 做echo hello> / dev / null; 完成“ […]