Questions tagged «cpu-usage»

用于执行任务的CPU处理单元的数量以及花费的时间。


4
Linux CPU使用率和进程执行历史记录
有什么方法可以查看导致CPU使用率最高的进程? 我有AMAZON EC2 Linux,其CPU利用率达到100%,并让我重新启动系统。我什至无法通过SSH(使用腻子)登录。 有什么方法可以查看导致如此高的CPU使用率的原因以及导致该情况的进程吗? 我了解sar和top执行命令,但是在任何地方都找不到进程执行历史。这是来自Amazon EC2监视工具的图像,但我想知道是哪个进程引起的: 我也曾尝试过,ps -eo pcpu,args | sort -k 1 -r | head -100但没有运气找到如此高的CPU使用率。
37 linux  cpu-usage 

5
%st在顶部表示什么?
这是我的示例: Cpu(s): 6.0%us, 3.0%sy, 0.0%ni, 78.7%id, 0.0%wa, 0.0%hi, 0.3%si, 12.0%st 我试图弄清楚%st字段的重要性。我读到这意味着窃取CPU,它代表虚拟机管理程序花费的时间,但是我想知道这对我实际上意味着什么。 这是否意味着我可能在繁忙的物理服务器上,而其他人正在服务器上使用过多的CPU,而他们却从我的VM中取走了? 如果我正在使用EBS,那么它是否与在虚拟机管理程序级别处理EBS I / O有关? 它与VM上运行的内容有关还是完全不受我的影响?

7
CPU使用率高,但平均负载低
我们遇到了一种奇怪的行为,我们看到较高的CPU利用率,但平均负载却很低。 通过我们的监控系统中的以下图表可以最好地说明该行为。 在大约11:57时,CPU利用率从25%上升到75%。平均负载没有明显变化。 我们运行的服务器具有12个核心,每个核心具有2个超线程。操作系统将其视为24个CPU。 /usr/bin/mpstat 60 1每分钟运行一次以收集CPU利用率数据。上表显示了all行和%usr列的数据。我确信这确实显示了每个CPU数据的平均值,而不是 “堆栈”利用率。虽然我们在图表中看到75%的利用率,但是我们看到一个进程显示在中使用了大约2000%的“堆叠” CPU top。 负载平均值是/proc/loadavg每分钟的数据。 uname -a 给出: Linux ab04 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux Linux dist是 Red Hat Enterprise Linux Server release 6.3 (Santiago) 我们在机器上相当重的负载下运行了两个Java Web应用程序,认为每台机器100个请求/秒。 如果我正确地解释了CPU利用率数据,那么当我们有75%的CPU利用率时,这意味着我们的CPU平均平均有75%的时间在执行一个进程。但是,如果我们的CPU忙碌了75%的时间,我们是否不应该看到更高的平均负载?当我们在运行队列中只有2-4个作业时,CPU怎么会忙75%? 我们是否正确解释了我们的数据?什么会导致这种行为?

4
域控制器上的“峰值” CPU使用率
在一个小的150客户端域中,我们有两个Windows Server 2008 SP2(很少是2008 R2)域控制器,它们表现出非常“繁忙”的CPU使用率。域控制器都表现出相同的行为,并托管在vSphere 5.5.0、1331820上。每两到三秒,CPU使用率就会跃升至80-100%,然后迅速下降,保持一两秒钟的低水平然后又会上升再次。 查看虚拟机的历史性能数据表明,这种情况已经持续了至少一年,但自三月份以来,这种情况的频率有所增加。 令人反感的过程是SVChost.exe,它包装了DHCP客户端(dhcpcsvc.dll),EventLog(wevtsvc.dll)和LMHOSTS(lmhsvc.dll)服务。我当然不是Windows的内部专家,但在使用Process Explorer查看进程时,似乎似乎找不到任何特别的地方,除了EventLog会触发大量RpcBindingUnbind调用。 在这一点上,我没有咖啡和想法。我应该如何继续解决此问题?

2
Windows是否相当于Unix的“ CPU窃取时间”?
为了评估性能的虚拟化平台监测精度,占用CPU时间已成为一个日益相关的指标-见EC2监控:被盗CPU的情况下,在上下文中的启发总结亚马逊EC2和IBM的纸张上的CPU时间占了一该概念的更深入的技术说明(包括插图): 窃取时间是在管理程序为另一个虚拟处理器提供服务时,虚拟CPU等待实际CPU的时间的百分比。 因此,它在当今大多数相关的Unix / Linux监视工具中都已公开-例如,参见%steal或st in sar或列top: st-窃取时间 虚拟机管理程序从此虚拟机“偷”用于其他任务(例如运行其他虚拟机)的CPU数量。 我一直无法弄清楚如何在Windows上捕获相同的指标,这是否可能?(理想情况下,对于EC2上的Windows 2008 Server R2 AMI,当然也可以通过相应的Windows性能计数器。)

2
CPU时间和CPU使用率如何相同?
在Wikipedia页面上的CPU时间,它说 CPU时间以时钟滴答或秒为单位。通常,以CPU容量的百分比来衡量CPU时间是很有用的,这称为CPU使用率。 我不明白如何用百分比代替持续时间。当我看时top,难道不%CPU告诉我我MATLAB使用的是2.17内核吗? PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 18118 jasl 20 0 9248400 261528 78676 S 217.2 0.1 8:14.75 MATLAB 题 为了更好地了解什么是CPU使用率,我如何自己计算CPU使用率?

3
X次后杀死CPU使用率高的进程?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使其成为服务器故障的主题。 5年前关闭。 运行Linux我有一些进程偶尔会崩溃(游戏服务器),最终使用100%cpu。 我正在寻找一个程序或脚本来按名称检查进程列表的cpu使用情况,并且如果它们以100%的速度超过X时间(例如30秒),请杀死它们。我尝试了ps-watcher,但无法确定如何完成此操作。 仅以100%的使用率杀死该进程是行不通的,因为它将在正常运行期间短暂击中该进程。 我还发现了这个脚本,它似乎可以满足我的要求,但是仅限于一个过程:link 任何帮助是极大的赞赏!
21 linux  time  cpu-usage  kill 

5
检查Ubuntu中的CPU /内存使用历史?
有没有办法让我查看ubuntu linux服务器上的cpu或内存使用情况?我注意到我的服务器(灯设置)有时很慢,但是到我以root身份登录并运行PS命令时,一切可能已恢复正常。 回顾一下服务器的不同部分消耗了哪些资源的日志将是很棒的。

7
您多久重启一次利用率高的Windows Server 2008R2远程桌面服务器(VM)?
注意:我已经阅读了多长时间需要重新启动Windows服务器?但是此问题专门与我们的远程桌面服务器有关。 我们有一台Windows Server 2008R2服务器-一台VMware ESX VM-已获得远程桌面服务的许可,有25位用户也执行RRAS(SSTP)。在工作日的平均工作日中,有8到12个已登录的活动用户,另外还有4-6个“断开连接”的用户。它具有12 GHz CPU硬保留空间和16 GB RAM,也完全保留。需要时,CPU预留可扩展到最大24 GHz。 我们的许多用户仅依靠服务器工作。他们也对它的性能感到苦恼,但是许多人不愿意改变工作习惯或软件来提高其性能。特别: 用户拒绝注销而不是断开连接 用户坚持使用Lync 2013而不是Lync 2010(Lync 2013是臭名昭著的资源消耗) 我不能高估他们拒绝注销的重要性。被拒绝的用户会在断开连接的情况下继续占用RAM,这意味着在任何给定时间,我们最多有16个正在运行的某些程序实例。 我还从经验中注意到,远程桌面服务器运行的时间越长,漏洞/僵尸就越加起来。重新启动后,服务器可以刷新且速度更快,即使在比较许多用户登录后的性能时也是如此。我还读到定期重新启动会有所帮助。 因此,我建议定期重新启动VM-我想每周做一次,例如在周六晚上-因为我认为这些重新启动将解决很多问题。 我想知道,如果您是Windows管理员, 即使用户断开连接/重新连接后,垃圾/僵尸/泄漏也会随着会话时间累积,这一事实我是否正确? 多久你重新启动一个类似的充分利用的Windows Server远程桌面服务?

1
当CPU百分比达到X时如何启动程序
我一直在间歇性地遇到过ASP.NET v 4.0应用程序的问题,大概每4天就会发生一次,发生的情况是CPU的峰值峰值为75%,有时可以正常运行直到一天结束,有时它会稳定地增长到100 % 然后,我必须重新启动服务器。 我遵循了有关“工作进程在100%CPU时该怎么办”的所有指南,我知道它是哪个工作进程,是哪个应用程序池。我所能做的就是找到该进程并杀死它或回收应用程序池,这有时会有所帮助。 我不知道当时CPU达到75%时系统上正在发生什么。 我想知道有没有一种方法可以在CPU命中率达到50%并运行2分钟,然后关闭并保存数据时启动procmon?


3
如何在具有多个VM的Hyper-V服务器上监视CPU使用率和性能
我有一台运行Windows 2008 64位Hyper-V的服务器,具有8 gigs RAM和Intel Xeon X3440 @ 2.53 Ghz,这使我在主机系统的性能监视器中拥有8个逻辑核心。 我已经设置了三个虚拟机,它们都运行Windows 2008 32位。 构建服务器,运行Team City 登台服务器 运行SQL Server 2005的SQL Server 我在设置时遇到了一些麻烦,因为即使虚拟机似乎以100%cpu的速度工作并且非常缓慢且无响应,主机监视器始终保持响应状态。(我已经问了一个单独的问题。) 所以这里的问题是:监视物理CPU实际使用情况的最佳方法是什么?我问的原因是,有人告诉我我不能可靠地使用任务管理器来监视VM中的CPU使用率。

4
ps aux使用Java进程挂在高CPU / IO上
我在使用Java进程和nrpe检查时遇到了一些问题。我们有一些进程有时在32核心系统上使用1000%cpu。在您执行 ps aux 或尝试在/ proc / pid#中执行任何操作,例如 [root@flume07.domain.com /proc/18679]# ls hangs.. ps aux的痕迹 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0 stat("/dev/pts1", 0x7fffb8526f00) = -1 ENOENT (No such file or directory) stat("/dev/pts", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 readlink("/proc/15693/fd/2", "/dev/pts/1", 127) = 10 stat("/dev/pts/1", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), …

1
任务集无法在Isolcpus中的一系列内核上工作
首先,我在AMD64芯片组上将Debian Wheezy与内核3.2一起使用。我的机器有两个Xeon E5-2690内核。我设置了引导参数,以便一个CPU上的所有内核都专用于一个进程。为此,我在grub中设置了isolcpus = 8,9,10,11,12,13,14,15。 到目前为止,一切都很好。现在让我们说我想对给定的命令使用隔离的CPU,为简单起见,我将使用一个简单的无限循环: $ taskset -c 8-15 bash -c'while true; 回声你好> / dev / null; 完成了& 到目前为止,到目前为止,顶部显示核心8的旋转利用率接近100%。现在,假设我再次启动该命令: $ taskset -c 8-15 bash -c'while true; 回声你好> / dev / null; 完成了& 现在top显示内核9-15保持空闲,并且两个进程共享内核8。如果相反,我这样做: $ taskset -c 8 bash -c'while true; 回声你好> / dev / null; 完成了& $ taskset -c …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.