同一个win2003程序运行不了在Server2003和Server2008中CPU使用率不同

SQLServer资源及性能监控—CPU使用率监控详解
CPU是服务器中最重要的资源。在数据库服务器中,CPU的使用情况应该时刻监控以便SQLServer一直处于最佳状态。
本文将会使用可靠性和性能监视器来获取CPU相关的使用统计信息
可靠性和性能监视器是过去性能监视器工具的加强版。同时拥有性能监视器的全部功能。
性能计数器提供对各种系统活动的统计功能。可以找到有数百种性能计数器来针对Windows操作系统或者第三方应用程序的性能。SQLServer同样有数百个性能计数器供DBA使用。
在本文中,我们将跟踪下列相关CPU性能计数器的数据:
Processor:%Processor TimeSystem: Processor Queue Length准备工作:
在开始之前,需要先了解Processor:%Processor Time和System: Processor Queue Length相关的知识。
Processor:%ProcessorTime:提供被一个线程使用的CPU时间的百分比。如果在系统中有多个CPU或者CPU内核。你将会看到在这个实例上有多个计数器。
System:Processor Queue Length:显示有多少个线程在等待CPU使用。
1、 打开可靠性和性能监视器:在【运行】中输入perfmon.exe。
2、 打开后,选择性能监视器。如图:
3、 在工具栏中按delete或者点击X按钮删除所有性能计数器。然后点击+按钮来增加计数器。
4、 在添加计数器对话框中,输入需要监控的计算机名或者使用本地计算机&Local computer&。
5、 打开Processor并选择%Processor Time。
6、 然后如图所示把计数器添加到监视器中:
7、 重复上面步骤把另外一个计数器添加进去,这个计数器在System→ProcessorQueue Length:
留意一下这个计数器是没有选择实例的。
8、 在添加完毕之后,结果如下,然后点击确定:
9、然后可以看到下图的结果:
使用可靠性和性能监视器中的性能计数器是非常直观的。注意图形化界面的结果,这些结果是以秒为单位的,实时显示。在图的中部部分,有【最新】、【平均】、【最大】、【最小】、【持续时间】这几个数值。
如果你发现Processor:%Processor Time的平均值持续处于80并且System:Processor Queue Length持续超过2,可能意味着CPU不够快来处理服务器上的进程,此时需要升级CPU或者添加CPU。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!当前位置:&&
本页文章导读:
&&&&?利用wmic获取cpu使用率,该如何解决 &&&&&& 利用wmic获取cpu使用率看到一个程序通过wmic process get Caption,KernelModeTime,UserModeTime命令来
获取所有进程的KernelModeTime和UserModeTime。
算出所有进程的 (KernelModeTime总和 + UserModeTime总和),作为al.........&&&&? 阿里云服务器,server 2008 死机,日志文件如下,请高手帮忙分析一下解决思路 &&&&&& 阿里云服务器,server 2008 死机,日志文件如下,请高手帮忙分析一下#Software: Microsoft HTTP API 2.0
#Version: 1.0
#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri.........&&&&? ==Win2003 IIS 偶然无法正常工作==&&&&&& ==Win2003 IIS 偶尔无法正常工作==两台服务器,用的是Win2003企业版,使用iis进行web发布。
它们的问题现象(基本相同):
每隔一段时间(时间有长有短,有时是1天、有时是10天、一个月都有)i.........
[1]利用wmic获取cpu使用率,该如何解决
&&&&来源:&互联网& 发布时间:&
利用wmic获取cpu使用率看到一个程序通过wmic process get Caption,KernelModeTime,UserModeTime命令来
获取所有进程的KernelModeTime和UserModeTime。
算出所有进程的 (KernelModeTime总和 + UserModeTime总和),作为allPorcessTime1;
算出System Idle Process进程和System进程的 (KernelModeTime总和 + UserModeTime总和),作为systemProcessTime1;
隔几秒后,再次调用wmic命令,再次获取allPorcessTime2和systemProcessTime2;
busyTime = allPorcessTime2 - allPorcessTime1;
idleTime = systemProcessTime2 - systemProcessTime1;
cpu使用率 = 100 * (busyTime) / (busyTime + idleTime);
请问这个方法计算cpu使用率对吗?
我和任务管理器对比,貌似相差很大。
因为运行wmic命令的那个时刻会对CPU使用率带来较大变化
[2] 阿里云服务器,server 2008 死机,日志文件如下,请高手帮忙分析一下解决思路
&&&&来源:&互联网& 发布时间:&
阿里云服务器,server 2008 死机,日志文件如下,请高手帮忙分析一下#Software: Microsoft HTTP API 2.0
#Version: 1.0
#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri sc-status s-siteid s-reason s-queuename
05:44:21 123.232.112.198 .170.34 80 - - - - - Timer_ConnectionIdle -
05:55:26 111.174.69.84 .170.34 80 - - - - - Timer_ConnectionIdle -
05:55:46 121.229.208.44 .170.34 80 - - - - - Timer_ConnectionIdle -
06:07:31 113.63.179.206 .170.34 80 - - - - - Timer_ConnectionIdle -
#Software: Microsoft HTTP API 2.0
#Version: 1.0
#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri sc-status s-siteid s-reason s-queuename
07:00:24 58.32.234.155 .170.34 80 - - - - - Timer_ConnectionIdle -
07:13:55 111.174.69.84 .170.34 80 - - - - - Timer_ConnectionIdle -
07:13:55 111.174.69.84 .170.34 80 - - - - - Timer_ConnectionIdle -
07:13:55 111.174.69.84 .170.34 80 - - - - - Timer_ConnectionIdle -
略,以上都差不多,以下是最新的
07:55:07 42.156.138.55 .170.34 80 - - - - - Timer_ConnectionIdle -
07:59:42 124.74.147.82 .170.34 80 - - - - - Timer_ConnectionIdle -
08:07:07 42.156.139.82 .170.34 80 - - - - - Timer_ConnectionIdle -
08:10:17 60.19.30.73 .170.34 80 - - - - - Timer_ConnectionIdle -
08:42:18 114.221.21.3 .170.34 80 - - - - - Timer_ConnectionIdle -
08:53:43 157.55.33.23 .170.34 80 - - - - - Timer_ConnectionIdle -
09:04:03 101.108.239.19 .170.34 80 - - - - - Timer_ConnectionIdle -
09:46:43 157.55.33.40 .170.34 80 - - - - - Timer_ConnectionIdle -
10:02:03 120.40.72.173 .170.34 80 - - - - - Timer_ConnectionIdle -
10:02:03 120.40.72.173 .170.34 80 - - - - - Timer_ConnectionIdle -
10:02:03 120.40.72.173 .170.34 80 - - - - - Timer_ConnectionIdle -
10:02:03 120.40.72.173 .170.34 80 - - - - - Timer_ConnectionIdle -
10:02:08 120.40.72.173 .170.34 80 - - - - - Timer_ConnectionIdle -
10:02:08 120.40.72.173 .170.34 80 - - - - - Timer_ConnectionIdle -
10:57:37 211.142.211.39 .170.34 80 - - - - - Timer_ConnectionIdle -
11:26:33 123.204.72.254 .170.34 80 - - - - - Timer_ConnectionIdle -
11:47:18 115.198.178.150 .170.34 80 - - - - - Timer_ConnectionIdle -
12:03:15 173.193.38.234 .170.34 80 HTTP/1.1 GET / 400 - Hostname -
一直都正常,就今天死机了,重启也花了好长时间。请问是什么原因,如何解决
问客服啊。客服解决不了还赔偿你100倍时间。
[3] ==Win2003 IIS 偶然无法正常工作==
&&&&来源:&互联网& 发布时间:&
==Win2003 IIS 偶尔无法正常工作==两台服务器,用的是Win2003企业版,使用iis进行web发布。
它们的问题现象(基本相同):
每隔一段时间(时间有长有短,有时是1天、有时是10天、一个月都有)iis就不正常工作了,这时候不管是静态页(纯html)或者是动态页(aspx、asp)都不能打开了,这个时候,检查“管理工具--服务”中的IIS Admin Service服务也没有停止,iis 的相关依赖项也没有停止,哪怕是手工的重新启动该IIS Admin Service服务也不能使iis就正常工作,只有重新启动整个服务器才行。
已经对iis的应用程序池进行定时工作进程回收设置,问题依然出现,因为是办公系统,每天的访问量都差不多
已经重装过系统了,不知还有什么办法解决
检查一下IIS 的log看看有什么报错。回收应用程序池时间改短一点极端一点,改到4小时,看看还行吗?
我遇到过甚至要改到30分钟才正常的.
这样就要优化代码了.
最新技术文章:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!
(C)9IT.COM,E-mail:www_169it_com#163.com(请将#改为@)windows server 2008 中各进程在cpu占用的百分比如何控制_百度知道
windows server 2008 中各进程在cpu占用的百分比如何控制
windows server 2008 中各进程在cpu占用的百分比如何控制?最好是视频,文字一步一步也可以
我有更好的答案
晕~电脑自己会分配的~不是手动分配啊它会根据每个进程的需要做最佳调节
为您推荐:
其他类似问题
您可能关注的内容
百分比的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码
我的一个java程序偶尔会出现cpu占用很高的情况
一直不知道什么原因
今天终于抽时间解决了
系统是win2003
jvisualvm 和 jconsole貌似都只能看到总共占用的cpu 看不到每个线程分别占用的cpu呢
所以在windows平台上要找出到底是哪个线程占用的cpu还不那么容易,linux用top就简单多了
最后的解决方法:
1.找到java进程对应的pid。
找pid的方法是:打开任务管理器,然后点击 "查看" 菜单,然后点击 "选择列",把pid勾上,然后就可以在任务管理器里面看到所有进程的pid值了。(也可以用第三步中提到的工具直接查看)
2.然后把java进程导出快照。直接运行命令。
jstack -l 31372 & c:/31372.stack
我这里是指定把java所有的信息导出到c盘的31372.stack的文件里。
3.在windows下只能查看进程的cpu占用率,要查看线程的cpu占用率要借助其他的工具,我这里用的是微软提供的 Process Explorer v15.3
下载地址http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
下载完后解压运行
右键点击需要查看的进程---properties
4.然后选择 Threads 选项卡,找到占用cpu的线程的tid,比如我这里是 31876 的线程
5.把pid转换成16进制,我这里直接用系统自带的计算器转换,置于为什么要转换,是因为先前用jstack导出的信息里面线程对应的tid是16进制的。
最后得到的线程pid的16进制的值为 7C84
6.在 c盘的31372.stack文件中查找 7C84
由于是我的程序已经该过了,这里没有异常的东西,所以这里没有什么异常内容。
我的问题没解决之前,找到到这里的内容为:
"Thread-23" prio=6 tid=0x nid=0x1b68 runnable [0x]
java.lang.Thread.State: RUNNABLE
at com.horn.util.MyEncrypt.encode(MyEncrypt.java:17)
at com.horn.common.OrderUtil.hisExp(OrderUtil.java:228)
at com.horn.util.MsgManage.receiveMsg(MsgManage.java:961)
at com.horn.util.PollMessageThread.run(PollMessageThread.java:74)
Locked ownable synchronizers:
- None于是 打开 t com.horn.util.MyEncrypt.encode(MyEncrypt.java:17)
分析了下代码,问题找到了。
问题代码为:
// 100-999的随机数
int random = (int) (Math.random() * 1000);
while (random & 100) {
random = random * 10;
}这样票眼看 是没问题
当时我写这段代码也没注意
关键在于 Math.random()的取值范围是大于0小于1 是吧?如果Math.random() 的值为 0.00009以下... 就成死循环了...
现在修改为了
// 100-999的随机数
int random = new Random().nextInt(900) + 100;
希望能给遇到问题的朋友一些帮助。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!你知道windows server2008吗
你们知道windows server2008吗?它有什么功能你知道吗?它的介绍都有什么你知道吗?那现在让我们来唠唠吧!
windows Server2008是微软一个服务器操作系统的名称,它继承Windows Server 2003。Windows server 2008分为两个版本,标准版和企业版。标准版支持1-4颗CPU,不支持集群功能,拥有5用户,拥有32G内存。企业版支持1-8颗CPU,支持集群,拥有25用户拥有2T内存。
windows server2008有很好的控制力,使用Windows Server2008,IT专业人员能够更好地控制服务器和网络基础结构,从而可以将精力集中在处理关键业务需求上。
Windows Server 2008 提供了一系列新的和改进的安全技术,这些技术增强了对操作系统的保护,为企业的运营和发展奠定了坚实的基础。Windows Server2008提供了减小内核攻击面的安全创新(例如PatchGuard),因而使服务器环境更安全、更稳定。
windows server2008允许用户从远程位置(如远程应用程序和终端服务网关)执行程序,这一技术为移动工作人员增强了灵活性。从DOS 时代开始,文件系统出错就意味着相应的卷必须下线修复,而在 Windows Server2008 中,一个新的系统服务会在后台默默工作,检测文件系统错误,并且可以在无需关闭服务器的状态下自动将其修复。在文件系统发生错误的时候,服务器只会暂时停止无法访问的部分数据,整体运行基本不受影响。
上面说了这么多,windows server2008你是不是知道了呢?如果还想知道更多关于windows server2008的信息就请联系在线客服吧。
更多精彩关注享和邑官网:http://www.nice1688.com/
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
是我国软件代理/分销商和IT技术服务供应商之一。
微软产品节日期间大降价活动
今日搜狐热点

我要回帖

更多关于 win2003程序运行不了 的文章

 

随机推荐