`
hgq0011
  • 浏览: 557109 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

CPU使用率不高,内存怎么使用率也不高,但系统假死了

阅读更多
在一个企业中待两年多了,遇到各种问题,很多都没有经验,只能考自己去摸索。现在又遇到一个问题,在IBM刀片服务器上面,4G的内存,sql server大概使用到2G左右就升不上去了,但是公司使用的系统的大并发使用的时候,就出现假死的现象,整个系统就不能使用了,CPU使用率也才10%左右。这问题可郁闷呀,又物理资源不能够用到,系统有出现问题。找了很久也没有找到问题的所在,程序应该问题不大,应该平时都用的好好的,最多在大并发时,处理的不够好。那到底是为什么呢?我们怀疑和操作系统有关?然后,我们就开始找相关的资料,一个同事在SQL SERVER的文档上找到了问题所在,下面是从SQL SERVER 中摘录的: SQL Server 2000 企业版在 Windows 2000 Advanced Server 上可访问大约 8 GB 内存,在 Windows 2000 Data Center 上可访问大约 64 GB 的内存。标准 32 位地址最多可映射 4 GB 的内存。因此 32 位 Microsoft Windows NT? 4.0 和 Windows 2000 进程的标准地址空间限制到 4 GB。默认情况下,为操作系统留出 2 GB 的地址空间,且有 2 GB 可供应用程序使用。 哦,原来问题是不同的操作系统,不同数据库会有不同功能,限制一些资源。看来还是要多思考多实际,这样才能获得更多的经验。

评论
19 楼 hgq0011 2007-03-22  
<p>
Arath 写道
由于sql的死锁导致系统挂起,如果真的这样那么ms sql真的比较烂了,DBMS必须能够自己解决死锁的问题
</p>
<p>这个应该由DBMS或程序员来处理。我们的系统在下午有一个使用的高蜂期,而每个用户的事务处理,可能比较长,那么数据库就成了一个瓶颈了,</p>
18 楼 hgq0011 2007-03-22  
<br/>
<strong>hurricane1026 写道:</strong><br/>
<div class='quote_div'>
bigpanda 写道
如果肯定这是SQL Server死锁引起的话,建议升级到MS SQL 2005。MS SQL 2005用了version based的方法来处理锁,大大降低了死锁的可能。刚才还和两个搞.NET的同事讨论确证了一下。一个同事说这个功能默认设置没打开。呵呵,自己去查查文档吧。 东西跑得好好的时候,谁搞都无所谓,忽然不工作了,这时水平高低才看得出来。高手也就是靠平时积累。平时读读Microsoft Windows Internals, 4th Edition, by Russinovich, Solomon; Programming Applications for Microsoft Windows,by Richter; The Guru's Guide to SQL Server Architecture and Internals, by Ken Henderson. 这里特别推荐Ken Henderson的书。这位MS SQL大牛是在微软做MS SQL技术支持的。他也看不到源代码。但是这位老兄居然能用debugger来研究SQL Server是怎么工作的。虽然他书里没有说,但我怀疑他用反汇编把SQL Server全反编译了。 这种精神太让人佩服了。如此诚心,何事不成。
<br/>
<br/>
<br/>
<br/>
<br/>
TMD,怎么总有这么牛的人,你每次出来都一堆书名,跟着看过去,不累死,也穷死。。。。:D</div>
<br/>
现在,好书太多,更新太快,人的精力有限,不到这些牛人们怎样来处理的。<br/>
<br/>
<br/>
17 楼 hgq0011 2007-03-22  
<p>
bigpanda 写道
如果肯定这是SQL Server死锁引起的话,建议升级到MS SQL 2005。MS SQL 2005用了version based的方法来处理锁,大大降低了死锁的可能。刚才还和两个搞.NET的同事讨论确证了一下。一个同事说这个功能默认设置没打开。呵呵,自己去查查文档吧。 东西跑得好好的时候,谁搞都无所谓,忽然不工作了,这时水平高低才看得出来。高手也就是靠平时积累。平时读读Microsoft Windows Internals, 4th Edition, by Russinovich, Solomon; Programming Applications for Microsoft Windows,by Richter; The Guru's Guide to SQL Server Architecture and Internals, by Ken Henderson. 这里特别推荐Ken Henderson的书。这位MS SQL大牛是在微软做MS SQL技术支持的。他也看不到源代码。但是这位老兄居然能用debugger来研究SQL Server是怎么工作的。虽然他书里没有说,但我怀疑他用反汇编把SQL Server全反编译了。 这种精神太让人佩服了。如此诚心,何事不成。
</p>
<p>谢谢,您的指导,:)</p>
<p>“The Guru's Guide to SQL Server Architecture and Internals, by Ken Henderson”这本书我到挺感兴趣的,改天去书店看有没有。</p>
<p>其实,我们用的这套系统是买来的,用pb写的,我们对那块不熟悉,只能跟踪SQL SERVER,还有用户的使用情况,服务器的使用效率来推断了。</p>
<p> </p>
16 楼 Arath 2007-03-21  
由于sql的死锁导致系统挂起,如果真的这样那么ms sql真的比较烂了,DBMS必须能够自己解决死锁的问题
15 楼 bigpanda 2007-03-21  
如果肯定这是SQL Server死锁引起的话,建议升级到MS SQL 2005。MS SQL 2005用了version based的方法来处理锁,大大降低了死锁的可能。刚才还和两个搞.NET的同事讨论确证了一下。一个同事说这个功能默认设置没打开。呵呵,自己去查查文档吧。

东西跑得好好的时候,谁搞都无所谓,忽然不工作了,这时水平高低才看得出来。高手也就是靠平时积累。平时读读Microsoft Windows Internals, 4th Edition, by Russinovich, Solomon; Programming Applications for Microsoft Windows,by Richter; The Guru's Guide to SQL Server Architecture and Internals, by Ken Henderson.

这里特别推荐Ken Henderson的书。这位MS SQL大牛是在微软做MS SQL技术支持的。他也看不到源代码。但是这位老兄居然能用debugger来研究SQL Server是怎么工作的。虽然他书里没有说,但我怀疑他用反汇编把SQL Server全反编译了。

这种精神太让人佩服了。如此诚心,何事不成。
14 楼 hgq0011 2007-03-21  
@Arath  
谢谢!
1)确实某些硬件的冲突会导致系统死机。不过,我的问题和它的关系不大。
2)数据库的死锁这个可定有一定的关系的。因为同一时间用的人很多,而都会用到事务处理,而且可能是对同一个表的操作或多个表的操作。
3)这个应该不会吧。我的OS能检测到4G 的内存。
13 楼 Arath 2007-03-21  
1. 某些外设可能因为其自身的驱动或者硬件问题,回导致系统锁死,这个以往我身边的同事遇到过,结果是发现一块卡硬件出了故障
2. 打错了,应该是“使用反面”,对数据库研究不深,但是的确遇到过使用不当结果数据锁死了系统
3. 主板的BIOS是有影响的,比如对不同内存的匹配,当然既然是IBM的服务器,如果有问题找IBM
12 楼 hgq0011 2007-03-21  
@Arath   
     系统要用到额外的硬件资源比如用读卡器读ID卡,你说的“系统用到了某些和硬件有关的资源”是不是指这些呢?
    “数据的使用反面有问题”这个怎么理解呢?能具体的说说吗?
     “至于说4G/2G的问题,除非是操作系统或主板自身驱动有问题,否则不会有影响.”这个确实和操作系统有关,但和主板似乎没有多大的关系。
11 楼 Arath 2007-03-20  
这种问题应用程序本身是很难产生的,是否你们的系统用到了某些和硬件有关的资源?或者是数据的使用反面有问题.
至于说4G/2G的问题,除非是操作系统或主板自身驱动有问题,否则不会有影响.
10 楼 hgq0011 2007-03-20  
<br/>
<strong>Lucas Lee 写道:</strong><br/>
<div class='quote_div'><br/>
<strong>hgq0011 写道:</strong>
<div class='quote_div'><span class='postbody'/>
Lucas Lee 写道
另外,系统假死的原因很多,并不是给与更多的内存和CPU资源就能解决的。
<br/>
    我们的系统在处理大的并发事务的时候,就有可能出现假死(或者有时系统更本就不能用,等待一段时间也活不回来了)。企业应用的系统应用程序只有2G的内存也太少了吧,我的机器都用1.5G的内存了。“系统假死的原因很多”能告诉我有那些原因呢?谢谢!<br/>
</div>
<br/>
比如,事务较长,导致其他事务必须等待锁的释放;在你的应用程序里,是否存在多线程之间的类似的等待锁的情况;使用了其他需要IO等待(比如发送邮件,网络可能拥挤)的程序,而没有使用异步调用,导致程序需等待调用成功才能继续执行。</div>
<p> </p>
<p>可能是存在长事务处理,系统在某过并发使用时,一个用户一次操作处理的东西太多,然后系统的资源又不够用,所以发生了交通堵塞。<br/>
<br/>
<br/>
<br/>
</p>
9 楼 hgq0011 2007-03-20  
<p>
Lucas Lee 写道
看看这个: 如何配置 SQL Server 以便使用 2 GB 以上的物理内存 http://support.microsoft.com/kb/274750
</p>
<p>谢谢!这个基本能够解决我的问题了,:)</p>
8 楼 LucasLee 2007-03-20  
<br/>
<strong>hgq0011 写道:</strong>
<div class='quote_div'><span class='postbody'/>
Lucas Lee 写道
另外,系统假死的原因很多,并不是给与更多的内存和CPU资源就能解决的。
<br/>
    我们的系统在处理大的并发事务的时候,就有可能出现假死(或者有时系统更本就不能用,等待一段时间也活不回来了)。企业应用的系统应用程序只有2G的内存也太少了吧,我的机器都用1.5G的内存了。“系统假死的原因很多”能告诉我有那些原因呢?谢谢!<br/>
</div>
<br/>
比如,事务较长,导致其他事务必须等待锁的释放;在你的应用程序里,是否存在多线程之间的类似的等待锁的情况;使用了其他需要IO等待(比如发送邮件,网络可能拥挤)的程序,而没有使用异步调用,导致程序需等待调用成功才能继续执行。
7 楼 LucasLee 2007-03-20  
看看这个:
如何配置 SQL Server 以便使用 2 GB 以上的物理内存
http://support.microsoft.com/kb/274750
6 楼 hgq0011 2007-03-20  
Lucas Lee 写道
你说的东西里面是不是有错误?
<br/>
    什么地方有错误呢?<br/>
<br/>
Lucas Lee 写道
你的机器4G内存,你后面说的信息没有说到SQLSERVER在什么情况下不能使用4G内存阿?
<br/>
<span class='postbody'>    默认情况下,为操作系统留出 2 GB 的地址空间,且有 2 GB 可供应用程序使用。<br/>
<br/>
</span>
Lucas Lee 写道
另外,系统假死的原因很多,并不是给与更多的内存和CPU资源就能解决的。
<br/>
    我们的系统在处理大的并发事务的时候,就有可能出现假死(或者有时系统更本就不能用,等待一段时间也活不回来了)。企业应用的系统应用程序只有2G的内存也太少了吧,我的机器都用1.5G的内存了。“系统假死的原因很多”能告诉我有那些原因呢?谢谢!<br/>
<br/>
<br/>
5 楼 hgq0011 2007-03-20  
bigpanda 写道
设置一下可以让application使用3G空间的。
<br/>
能告诉我在什么地方设置能够让应用程序使用3G的空间呢?
4 楼 hgq0011 2007-03-20  
NightTree 写道
那在windows2003server上的话sqlserver可以防问多少内存?还是2G?
<br/>
我们的DB Server就是win2003,它的内存使用率就是1.9G左右,不会超过2G
3 楼 LucasLee 2007-03-19  
你说的东西里面是不是有错误?
你的机器4G内存,你后面说的信息没有说到SQLSERVER在什么情况下不能使用4G内存阿?

另外,系统假死的原因很多,并不是给与更多的内存和CPU资源就能解决的。
2 楼 bigpanda 2007-03-19  
设置一下可以让application使用3G空间的。
1 楼 NightTree 2007-03-19  
那在windows2003server上的话sqlserver可以防问多少内存?还是2G?

相关推荐

    妙解CPU占用率高居不下.pdf

    然而,当连接请求负荷过高时,就可能会造成 CPU 占用率过高,导致系统性能急剧下降,甚至会进退假死状态。 这是由于 Windows XP 工作项数目和响应能力间比例失调造成的。如果有一个台适的 MaxWorkItems 设置,可以...

    IIS假死的处理

    4. **配置不当**:IIS的应用程序池配置不正确,比如回收时间间隔过短,或者回收条件设置不合理,也会引起假死现象。 #### 解决方案 1. **优化资源管理**: - 调整应用程序池的内存限制,避免因内存溢出导致的假死...

    引用内容2003应用程序池假死常见问题及解决方法

    当应用池中的网站对CPU的占用率过高,例如超过设定的资源限制阈值,系统将在5分钟后自动关闭该应用池。解决方法有两种:一种是不限制CPU资源,但这不推荐,因为可能会导致服务器资源被某些程序占用过多而无法操作;...

    系统恢复后CPU过忙.pdf

    然而,在使用过程中,我们难免会遇到各种各样的技术问题,例如系统恢复或重启后CPU占用率居高不下,甚至达到100%,这种状况会在很大程度上影响计算机的响应速度和性能。特别是在使用Windows XP系统时,这种问题可能...

    视频漏洞导致电脑假死处理.pdf

    在任务管理器中,可以看到Explorer.exe进程的CPU使用率达到100%,表明系统正全力处理某个任务,导致其他操作无法正常进行。 这一问题的根本原因在于Windows系统的一个漏洞。当用户点击一个大型AVI文件时,Windows...

    服务器CPU监控小工具

    而通过回收进程和停止进程都不能达到马上见效的作用,而结束w3wp.exe进程的话,CPU使用率会马上降下来,而且不影响网站的正常运行。 因为IIS会自动马上启动一个新的w3wp.exe进程。使用本软件后,站长帮手网服务器...

    开机假死 都是偷懒惹的祸.docx

    当这些程序的数量过多时,它们会在系统启动时争夺有限的CPU资源,进而导致CPU使用率达到100%,使得系统无法正常响应用户的操作。 ##### 1.2 桌面图标与文件过多 另一个导致开机假死的原因是用户在桌面上存放了大量...

    CSharp进程devenv CPU占高

    在使用 Visual Studio(简称 VS)进行 C# 或其他 .NET 应用开发过程中,用户可能会遇到 IDE(集成开发环境)响应缓慢甚至假死的现象。这种情况通常表现为当用户尝试在“设计”视图与“源代码”视图之间切换时,VS 变...

    Process Lasso(含64位)v8.0中文破解版.rar

    Process Lasso启动之后会显示所有进程及当前进程,显示CPU每个核心的使用率及内存负载,自动优化I/O级别。你也可以手动将不需要Process Lasso抑制的进程添加到排除列表中。实际使用中当某一进程使用CPU达到一定...

    解决IIS7、IIS7.5 应用程序池回收假死的方法

    当应用程序池达到预设的回收条件(如内存阈值、CPU使用率、运行时间等)时,IIS会回收该池,关闭当前工作进程并启动新的进程,以清理可能存在的内存泄漏或异常状态。 假死现象通常表现为:用户访问网站时出现长时间...

    进程优化工具Process Lasso PRO v8.0.6.4

    使用Process Lasso Pro 就可以省去手动结束进程的麻烦了,Process Lasso Pro 的ProBalance(进程平衡)技术可以在某个进程的CPU使用率达到一定级别时,自动优化系统进程的优先级,防止出现个别进程CPU垄断导致整个系统...

    分析两种Dump(崩溃日志)文件生成的方法及比较

    例如,当CPU使用率过高、内存泄漏或者特定异常发生时,可以配置工具生成Dump。这种方式可以更好地配合调试流程,获取更丰富的调试信息。 比较: 1. 控制性:使用第三方工具生成Dump文件具有更高的可控性,可以定制...

    Process Lasso 32位

    过载抑制(Out-of-control Restraint)是Process Lasso的一项创新性功能,当某一进程的CPU使用率过高,可能导致系统崩溃、蓝屏、假死或进程无响应等问题时,该功能会自动介入,将这个高负载进程的优先级降低,从而...

    Process Lasso PRO v6.6.1.6 中文绿色便携注册版

    而应用程序在系统中的表现即为进程,当某个进程长时间占用CPU使用率过多时,就会引起系统失去响应,假死等,我们平时提到的很卡的现象。这就是为什么我们常常看到一些有经验的计算机使用者使用Windows任务管理器将...

    电脑基础知识大全.pdf

    - **查看电脑状况**:通过任务管理器监控硬件使用率,超过90%可能导致电脑变慢。 - **进程假死**:使用任务管理器结束无响应的进程。 - **U盘无法安全删除**:确保数据传输已完成,或关闭访问U盘的程序,必要时...

    自动感应进程保护TAppDogV1.5

    它能够通过分析进程的内存使用、CPU占用率、I/O活动等关键指标,来判断一个进程是否处于假死状态。一旦检测到某个程序出现异常,TAppDog会立即采取行动,例如重启该程序、释放资源或者通知用户。这种方式避免了传统...

    用VBA做大批量图表造成死机的一个原因:

    - 如果VBA脚本没有合理地管理这些资源,比如在循环处理大量图表时没有适当释放不再使用的对象,也会导致CPU占用率居高不下,进而影响整体性能。 3. **GDI对象限制**: - Windows系统对于GDI(Graphics Device ...

    win10占用硬盘高怎么办?_1.docx

    现在中国使用 IPv6 的普通用户几乎没有,但在 Win8/8.1 下,IPv6 功能是默认开启的,这使电脑硬盘占用率高,出现开机系统未响应,假死等情况。 具体解决方案是: 1. 打开控制面板-网络和 Internet-网络和共享中心-...

Global site tag (gtag.js) - Google Analytics