我了解top命令( 6.5%us , 17.2%sy , 0.0%ni等)报告的各种CPU使用情况,但是为什么每个进程的总CPU百分比不能累加到任何一个Cpu(s)值? 例如,java进程下面占用了77.5%的CPU,而Cpu(s)说76.0%仍然是空闲的。 为什么是这样? 这是在一个单一的核心系统。 top – 05:53:27 up 32 min, 2 users, load average: 0.16, 0.29, 0.34 Tasks: 71 total, 1 running, 70 sleeping, 0 stopped, 0 zombie Cpu(s): 6.5%us, 17.2%sy, 0.0%ni, 76.0%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Mem: 1758616k total, 643432k used, 1115184k free, 12224k buffers Swap: 917500k total, 0k […]
从商业angular度来看… 如果英特尔可以采用3.0 GHz的CPU,并将其超频到4.0 GHz,但仍然可以承担保修责任。 这是完全免费的,使得芯片被大众认为是“更强大”,然后可以更多的钱。 公司总是试图挤出额外的压力。 事实上,他们并没有从工厂超频他们的产品,显示这在经济上肯定是件坏事。 不是吗?
我在WinServ08机器上遇到了CPU使用率问题:实际上,CPU使用率(在3核心0上更明显)比我想象的要高,而任务pipe理器(按CPU%sorting)只显示很less有0以上的进程(而且这些进程并没有加起来报告CPU使用率)。 我真的想知道为什么,这只是一个四舍五入的错误(是所有其他进程使用0.499%,只是四舍五入?)还是有另一个原因? 我完全困惑,因为数字没有加起来。 规格:所有的驱动程序/软件都是最新的。 Intel 2.83ghz Q9550四核CPU + 4gb内存+ Supermicro MBD-X7SBL-LN1-O主板
首先,我在stackoverflow.comsearch和谷歌search,但没有find有效的结果。 我的问题是:为什么pthread_cond_wait消耗这么多的CPU? 我不认为这是正常的。 我的程序受到了影响,%CPU间歇性变高,并保持十秒以上。 当%CPU稳定低时,它是在1左右。当它变高时,在50和300之间。 我使用top -H -p来查找当进程的%CPU变高时消耗最多CPU的单线程,然后使用strace -T -r -c -p来查找更多信息: strace -T -r -c -p 1701 % time seconds usecs/call calls errors syscall —— ———– ———– ——— ——— —————- 88.54 0.482646 43 11157 3020 futex 9.85 0.053682 0 131052 read 1.50 0.008192 38 213 nanosleep 0.04 0.000214 1 239 write 0.03 0.000154 1 […]
我正在运行几个EC2实例,我想知道我的CPU在做什么。 在“普通”机器上,我正在用munin和它的CPU插件来查看/ proc / stat提供的统计信息。 然而,在我的EC2机器上,我得到了不正确的graphics。 该机器有两个核心,所以最大CPU使用率应该是200% – 但是它高达400%: 我知道我应该使用Amazon CloudWatch来查看总CPU使用情况(这是官方的,并从亚马逊的方式推荐这样做),但我特别关注CPU使用情况如何花费(例如系统,用户,爱荷华州) 。 有没有办法获得有关EC2实例的详细CPU使用情况统计信息?
用尽想法去探索。 首先 – 让我警告你 – 我是一个程序员,而不是一个systech 🙂 这是情况。 运行相当数量的站点的专用服务器(LAMP)。 mySQL服务器在一个单独的盒子上。 过去的几周,表演一直在稳步下降,甚至不能再遥远的地方。 看着mod_status,有相当多的进程占用CPU资源。 然而,这些URL是完全不同的……没有一个共同的模式 – 所以我不能把任何东西缩小到可能被卡住的特定脚本。 PHP是作为cgi运行的。 大部分需要运行一段时间的网站都使用cakephp框架 重新启动服务器,我们再次在几分钟内… 交叉错误,说/ var / tmp /已满,无法写会话。 但是,还有空间? 缺lessinodes也许? 目前正在有人走下框并清除tmp。 缺乏编写会话的能力会导致php进程永久挂起,并最终堵塞一切? 任何其他的想法,我可能想探索? 我一直在监视sql服务器,看看它是否返回任何查询中的巨大数据集,并没有什么值得在那里…. 这只是11:21在这里,我已经需要一杯饮料:)
我在网上的几个地方看到过这个讨论,从来没有一个明确的答案。 mysqld_safe做什么的? 什么会导致它去100%的CPU,并留在那里? 我怎样才能确保它不会再发生? 有没有办法,至less使其运行在一个较低的优先级,所以它不会阻止我login到我的服务器? 目前我在Ubuntu 8.04上有这个问题,MySQL版本是5.0.51a-3ubuntu5.1。
我在我的PHP脚本中有一些疯狂的SQL查询,这很需要一些优化。 然而,问题不在于如何优化它们。 这些查询有很多“连接”和一些奇怪的“按顺序排列”,并且针对具有几万条logging的表进行。 lots_of_joins + crazy_order_by事物使他们需要“复制到tmp表”步骤。 现在奇怪的是,同样的查询有时会跑得快(不到一秒钟),有时需要几十年(几十秒)。 在这两种情况下,“解释”和configuration文件显示“复制到tmp表”步骤。 当查询花费时间时,99%的时间花在“复制到tmp表”阶段。 奇怪的是,在那个时候,mysql几乎消耗了100%的CPU。 所以,我知道tmp表有时会保存在内存中,有时会写入磁盘(取决于当前内存的可用性)。 因此,这完全可以解释为什么相同的查询有时可能很快,有时会花费很长时间。 但是,有两件事我不明白。 如果将临时表写入磁盘的瓶颈,这应该意味着在I / O上花费了大量的时间,但是在此期间的CPU负载平均值应该相对较低,肯定远远低于100%。 做这么多的I / O时,CPU如何忙? 我在my.cnf中增加了: max_heap_table_size = 1024M tmp_table_size = 1024M (我认为默认值是16M) 而且我真的不相信tmp表需要的是更多的内存。 据我所知,一个tmp表被写入到磁盘而不是内存:a-如果查询和表需要它,因为它们不满足某些标准b-如果它超过了max_heap_table_size和tmp_table_size之间的最小值 如果(a)是这种情况,那么它总会发生,而不是不时。 另一方面,(b)似乎不太可能,因为我已经增加了上述参数,没有任何明显的改变。 所需表格的大小在相同查询的出版物中应该不会有很大的变化(数据几乎相同)。 所以如果在增加内存大小之前偶尔会发生(这意味着所需的tmp表的大小只是在最大值附近),那么在这种剧烈增加之后,反常行为应该完全消失。 所以我的问题基本上是: 创build磁盘表真的是唯一的原因,可以使复制到tmp表的步骤需要很长时间? (或者,即使它是在记忆中完成,也可能需要很长时间?如果是这样,为什么?为什么随机?) 如果是,那么 怎么可能使用大量的CPU? 为什么即使不大于min(tmp_table_size,max_heap_table_size),tmp表也可以写入磁盘? 我真的不认为示例查询和configuration文件是必要的,但我可以发布,如果他们是。
我们有一家公司使用terminal服务器来完成他们大部分的工作,当多个用户使用Chrome浏览器打开几个标签时,CPU就会变得越来越好。 有没有简单的方法来限制多lessCPU的Chrome可以通过组策略使用? 我们正在使用Server 2012 R2&2016。
我正在AWS ec2上运行ubuntu gpu实例。 我不确定我的应用程序是否使用GPU加速。 那么如何检查aws gpu实例上的gpu用法呢?