我服务器跑了一个asp和aspx网站 内存越用越大 快2G了 我把IIS配置了GZIP压缩 不知道是不是配置不对 请大侠们支招 
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate" 
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
HcCreateFlags="0" 
HcDoDynamicCompression="TRUE" 
HcDoOnDemandCompression="TRUE" 
HcDoStaticCompression="FALSE" 
HcDynamicCompressionLevel="10" 
HcFileExtensions="htm 
html 
txt 
css 
swf 
gif 
jpg 
xml 
js" 
HcOnDemandCompLevel="10" 
HcPriority="1" 
HcScriptFileExtensions="asp 
dll 
exe 
aspx" 

</IIsCompressionScheme> 
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip" 
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" 
HcCreateFlags="1" 
HcDoDynamicCompression="TRUE" 
HcDoOnDemandCompression="TRUE" 
HcDoStaticCompression="TRUE" 
HcDynamicCompressionLevel="10" 
HcFileExtensions="htm 
html 
txt 
css 
swf 
gif 
jpg 
xml 
js" 
HcOnDemandCompLevel="10" 
HcPriority="1" 
HcScriptFileExtensions="asp 
dll 
exe 
aspx" 

</IIsCompressionScheme>

解决方案 »

  1.   

    你确定是ASP.NET应用程序在不断的吃内存?
    如果是的话:
    要是IIS6的话,配置下应用程序池的回收时间。
    如果IIS配置合适的话,看下程序是否有未释放的资源。
    如果不是的话,看看服务器是否中毒。
      

  2.   

    我今天把 ASPX 网站停了就好了很多 我把ASPX网站使用了SQL依赖缓存和页面缓存 我把页面缓存的时间设置的很大<%@ OutputCache Duration="50000" VaryByParam="none" VaryByControl="rptNews" %>或<%@ OutputCache Duration="50000" VaryByParam="none" %> 不知道问题是不是出在这里 不在缓存最佳时间是多少 上面有大侠说要重建索引不知道应该如何查看我的数据应不应该重建索引 我数据的表都只有一个主键索引 
    我用这段代码看了一下
    declare @table_id intset @table_id = object_id('News')dbcc showcontig(@table_id)结果,不知道要不要重建索引DBCC SHOWCONTIG scanning 'News' table...
    Table: 'News' (82099333); index ID: 1, database ID: 22
    TABLE level scan performed.
    - Pages Scanned................................: 2
    - Extents Scanned..............................: 2
    - Extent Switches..............................: 1
    - Avg. Pages per Extent........................: 1.0
    - Scan Density [Best Count:Actual Count].......: 50.00% [1:2]
    - Logical Scan Fragmentation ..................: 50.00%
    - Extent Scan Fragmentation ...................: 50.00%
    - Avg. Bytes Free per Page.....................: 1292.5
    - Avg. Page Density (full).....................: 84.03%
    DBCC execution completed. If DBCC printed error messages, contact your system administrator.
      

  3.   

    gzip压缩,一般情况没必要。
    我的网站:svn服务器
      

  4.   

    合理的配置IIS应用程序池属性.1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。 
    2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存.如果还是不能明显解决,那么考虑是程序编写和数据库设计时存在弊端.
      

  5.   

    如何设置同时运行的w3wp进程数目为1
      

  6.   

    内存越用越大,最根本的还是由于程序写得不好而引起的,比如ADO或者ADO.NET的资源没有及时释放、用到了一些比较花哨的ASP.NET控件、一次性从数据库端返回了大量数据等。配置回收当然能缓解一下问题,但是无法从根本上解决问题。你可以抓包来分析问题究竟发生在什么地方。http://support.microsoft.com/kb/286350/
    如果需要帮助的话,我可以帮你。
      

  7.   

    这个不用设置,默认就是1。如果你不是1的话,你的ASP session早就丢失了。
      

  8.   

    终于在一位微软全球技术中心的牛人帮助下找到了原因  sqlserver.exe惹得的祸 占了将近1G内存  不知道怎么来解决这个问题 上面有人说重建索引 那位能不能说清楚一点 如何重建索引 
      

  9.   

    2G不是很大
    SQL是不会回收内存的,也就是说SQL进程占用内存会一直增大
      

  10.   

    如果大盘像 .net 内存占用一样, 节节攀升, 直到涨停,
    该多好.
      

  11.   

    sql server占用那么大的内存?并发很大?
      

  12.   

    按照上面说的先配置iis程序池是正确的。
    不过还有几个问题你要确定一下。
    1:编程过程中,确保内存都回收了。可能某个地方内存泄漏了。
    2:如果App和DB在一起的话,请设置一下Db的内存。btw,你数据库是oracle?sqlserver?
    oracle如果是存档模式很耗内存的~
      

  13.   

    sql2K吧?不会自动回收内存的。你要优化下配置。