首先,只是一些背景知识:
我们的一位客户正在经历运行我们的一个Web应用程序的WebSphere实例的CPU使用率峰值(其他应用程序的其他实例都很好).他们有一个测试环境和一个现场环境(两个iSeries)都遇到了问题 - 每个实例设置一个应用程序.我们已经在我们自己的测试环境中本地部署了此应用程序,也为iSeries上的许多其他客户部署了此应用程序,没有类似的问
实际发生了什么:
每隔一秒左右,用于WebSphere Process'的CPU使用率的CPU使用率从跳转到任何地方7%- 20%即使没有当时正在处理的请求.客户报告看到峰值高达30%.这些尖峰平均出是1.5%CPU的整体-其他WebSphere情况下通常使用0%- 0.1%在空闲时.
到目前为止我的调查
所以,我看了一下线程.测试环境中的一个线程是~350每秒使用CPU周期.它们的实时环境中的一个类似线程是~1500每秒使用CPU周期(表明它有更大的CPU).这些线程的调用堆栈看起来像
Type Program Statement Procedure
QLESPI QSYS 17 LE_Create_Thread2__FP12crtt >
QJVALIBJVM QSYS 7 startThread__FPv
J com/ibm/ws/util/Threa > run
J com/ibm/ws/util/Threa > run
J com/ibm/ws/util/Threa > getTask
J com/ibm/ws/util/Bound > poll
Run Code Online (Sandbox Code Playgroud)
底线的整个班级名称是com/ibm/ws/util/BoundedBuffer.我让客户为我做了一个JVM转储 - 我从中得到的唯一补充信息是线程名称:
Thread: 00002F82 Deferrable Alarm : 11
Run Code Online (Sandbox Code Playgroud)
现在我的问题:
Deferrable Alarm?从JVM转储中,我可以看到4个具有此名称的线程.其他三个似乎做得很好.通过调试我的本地WebSphere(在Windows上)并在BoundedBuffer类中添加断点,我看到BoudedBuffers正在轮询并定期调用一些侦听器.(这本来是一个普遍的假设性问题,我抱怨说.NET是一只猪并且乞求理由.这并不是关于我的特定应用程序的问题.)
目前我正在用C#重写一些旧的C++代码.我们正在移植所有遗留应用程序.我有C++应用程序,占用MAX 3%CPU.他们大多没有使用.然后我接受代码,复制和粘贴,然后重新格式化为C#语法和.NET库,以及BAM!50%的CPU.这是什么原因?我一开始认为它是JIT,但即使在每个代码路径都进行了练习之后,整个事情也被JIT编辑,同样的问题.
我也注意到了大量的内存增加.花费9 MB运行满载的应用程序现在从10 MB开始,运行速度为50 MB.我意识到硬件很便宜,但我想了解导致这种情况的原因.它是引起恐慌的原因,还是.NET就像猪一样?
更新1对Skeet的回答
我熟悉C#.我将事情改为Linq,依此类推.我通常采用代码并减少行数,依此类推.你能举一些C++人在.NET中做错的例子吗?
更新2
这是一个普遍的问题,但具有该问题的具体应用程序如下.
它有一个线程使用和ODBC驱动程序从一个paradox数据库中获取数据.然后它使用Linq将其转换为SQL db并发布它.我通过ANTS分析器运行它,似乎数据集填充花费的时间最多.其次是Linq发帖.我知道我的一些领域是反射用法,但我不知道怎么做我需要的东西.我计划将我的字符串更改为字符串构建器.这两者有什么区别吗?
(int)datarow["Index"]
Run Code Online (Sandbox Code Playgroud)
和
ConvertTo.Int32(datarow["Index"])
Run Code Online (Sandbox Code Playgroud)
我更改了所有字符串连接以格式化字符串.这并没有减少头脑.有没有人知道数据读取器与数据适配器和数据集之间的区别?
美好的一天
我有一个应用程序,我用它来存档使用DotNetZip库的文件夹.我注意到,当它进入实际的"压缩"过程时,它占用了100%的CPU.这个应用程序将与另一个(一个TCP聊天应用程序)一起使用,所以我真的需要这个使用尽可能少的CPU.
有什么办法可以安全地限制cpu吗?我试过降低优先级,但没有什么区别.我现在唯一能做的就是将亲和力设置为1核心,使其使用50%.但当然这只适用于多核计算机.
我有一个计算密集的OCaml应用程序,我希望它在后台运行而不会干扰正常的计算机使用.我想向用户提供两个选项:
(1)应用程序仅在CPU使用率几乎为0%时运行;
(2)应用程序仅使用"免费"处理能力(例如,如果其他进程加起来为100%,则OCaml应用程序暂停;如果其他进程几乎为0%,则对OCaml应用程序没有限制;如果其他进程添加比如说,50%然后OCaml将使用高达50%).
我的想法是检查代码中各个检查点的CPU使用情况,并在必要时暂停执行.
在(1)中,我们只检查CPU是否低于2%,如果不是,则暂停直到它再次低于2%.
在(2)中,事情比较棘手.由于当没有限制时,应用程序总是消耗100%的CPU,检查点将非常频繁,将CPU使用率降低到一半,我只需要在每个检查点将其延迟到检查点之间的时间.如果检查点频繁,这就类似于使用50%的CPU,我会说.对于其他百分比,我们可以通过暂停适当的时间段来做类似的事情.然而,这看起来非常人为,充满了开销,最重要的是,我不确定它是否真的能满足我的需求.更好的替代方法是Unix.nice n在应用程序开始时使用一些适当的整数调用.我想这个设置n=15可能是正确的.
(Q1)如何从我的OCaml应用程序中了解应用程序进程的CPU使用情况?(我想用OCaml函数执行此操作,而不是通过在命令行上调用"ps"或类似的东西...)
(Q2)你认为我的想法存在问题(2).改变流程的优点有哪些实际差异?
(Q3)您对(2)有任何其他建议吗?
我启用了MySQL慢速日志功能:http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html
但有时候,由于CPU负载过高,query_times很高.
如何将当前CPU负载附加到MySQL慢速日志中的每个条目(它写入文件)?
我们看到一个.NET MVC应用程序的CPU和内存使用量非常高,似乎无法追踪它的原因.我们的组无法访问Web服务器本身,而是在遇到某些限制时(90%或CPU或内存)自动得到通知.在本地运行我们似乎无法找到问题.我们认为有些项目可能是罪魁祸首
除此之外,就Web应用程序而言,该应用程序非常标准.这里有几个表单,登录/注销,一些管理用户和数据的管理功能; 没什么特别的.
我正在寻找两种不同的解决方案,并想知道什么是最好的.
我正在使用eclipse Juno,昨天我注意到我的电脑变得非常热.我检查了CPU使用率,看它是100%.Eclipse是罪魁祸首,忙于"重新索引存储库工作区".半小时后它没有完成,我的机器几乎融化了,我搜索并发现了类似的问题:
Eclipse挂起"重新索引(完全)存储库{username}"
事情是我没有使用git.通过我不想要的东西的声音,因为它会占用我所有的CPU.我删除了〜/ git,删除了一个使用git的项目,检查了〜/ .git下的任何文件,从eclipse插件中删除了egit和jgit,它仍然在发生.
我可以每次都停止进程,但现在似乎无法构建工作区.
所以我决定升级到开普勒,现在我遇到了一个类似的问题:
"计算存储库工作空间的Git状态"
它再次占据了我100%的CPU,并威胁要放火烧我的桌子.
我甚至没有任何开放的git项目.
我该如何阻止这个愚蠢的事情?每次我停止进程,但如果我然后尝试清理重建或打开一个项目,它会再次启动.
我们的ES集群存在很大问题.我们的一个节点始终使用99%的CPU.由于某些原因,elasticsearch与普通节点相比,它的进程运行的线程数大约是3倍.我htop为2个节点附加了2个屏幕截图,一个超载,另一个正常.请指教!
谢谢!
重载节点

普通节点

UPDATE
集群架构:
11个节点,2个专用主站,9个数据节点.
节点硬件属性
大师赛:
从站:
集群中的文档:
~200万
指数conf:
每个索引分为10个分片(5个主分片,5个副本)
查询:
搜索RT : ~ 250/s,索引RT:~ 6K/s
OS
Ubuntu 12.04.4 LTS
JAVA
Run Code Online (Sandbox Code Playgroud)java version "1.7.0_60" Java(TM) SE Runtime Environment (build 1.7.0_60-b19) Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
我想问一下,在运行我的hadoop mapreduce应用程序后,如何获得该应用程序的总内存和CPU使用率.我在日志和资源管理器网页上看过它,但我没有得到它.
可能吗?我可以在每个作业执行或每个应用程序中获取它,并且我是否可以按节点使用情况或总使用量获取它?
非常感谢....
我在html,javascript和CSS中有一个单页网站设计。网页上有很多图像,并且每个图像根据类别都有不同的动画效果。我已经将wow.js用于窗口滚动的动画效果。滚动浏览图像时,CPU和GPU的使用率很高,由于其影响,滚动会变得不稳定而不平滑。任何人都可以调查一下。我创建了一个Codepen示例。请看一看:-
(https://codepen.io/Sny220/pen/jjyEPj)
Run Code Online (Sandbox Code Playgroud)
代码如下:
<!-- HTML -->
<div class="foo foo-text foo-2 col-md-3 col-md-offset-3 over-hidden">
<img class="wow zoominoutsingle" src="https://www.psychologies.co.uk/sites/default/files/field/image/feelgood%20chemicals.jpg" />
</div>
<div class="foo foo-text foo-2 col-md-3 over-hidden">
<img class="wow zoominoutsingle" src="https://kajabi-storefronts-production.global.ssl.fastly.net/kajabi-storefronts-production/blogs/1049/images/BlH7rBrRFGdVF71lofox_TFmaDj07ReWp5C4zcHaw_alex-fergus-look-and-feel-amazing-health-wellness-fat-loss-natural-banner.jpg" />
</div>
<div class="foo foo-text foo-2 col-md-6 col-md-offset-3">
<div class="inner">
<h1 class="wow fadeInDown">Hello, world!</h1>
<p class="wow fadeInUp">Whouaa !!!</p>
</div>
</div>
<div class="foo foo-3 col-md-6 col-md-offset-3">
<div class="inner">
<button type="button" class="btn btn-success">Success</button>
</div>
</div>
<div class="foo foo-4 col-md-6 col-md-offset-3 wow fadeInDown">
<img class="" src="http://www.ponpokopon.net/livresillu/unenouvellemaison1.jpg" />
</div>
<div class="foo foo-5 col-md-6 …Run Code Online (Sandbox Code Playgroud)