在IIS下的网站,导出excel导出为空,提示内存不足

?

问题

?

在IIS下的网站,导出excel导出为空,提示内存不足

?

解决办法

?

WINDOWS2003 IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。

实际案例

服务器配置

至强2.8G

内存512M

SCSI硬盘 2块 (软镜像)

系统 windows 2003

现在挂了一个asp.net开发的网站,访问量不大 但是出现一个,问题就是每当服务器运行2-3天后,访问网站就特别慢,重启动服务器后就正常了。

查看进程使用内存的情况,发现w3wp.exe和sqlservr.exe进程占用内存相当大 达到了170多M( 每个),物理可用内存几乎用光,(服务器重启动时 占用的内存很小才40多M 每个),以前网站挂在一个虚拟机上,数据库是分开挂的,从没出现这种情况。

后来,原版移植到新服务器上就出现这样的问题

还个一问题就是在SQL企业管理器中查看SQL进程发现有很多是.net 引起的进程是sleeping但是却占用了内存无法释放

采取措施:

IIS服务管理器----》应用程序池----》添加你的应用,并设置最大内存,当程序达到最大内存后其会自动重启。

将内存升级至2G,访问量比较高,一般是差不多运行24小时后就得重启,内存没耗完,W3WP进程占到一百八九十兆,SQL占了二百多兆时就得重启,不然整个站点就宕了。

解决方法一:

w3wp.exe

就是你的ASP.NET应用宿主,如果你使用了大量的Session、Cache等资源,并且Session超市时间很长,那么内存占用量就比较大。应用

池是为增加性能而设的一个特性,但是也消耗很大的内存。另外关掉Windows Server

2003里的大多数Service(那个不用都可以关掉),也可以节省一部分内存

1.怀疑在程序中应用的CACHE,

2.CACHE中有大量的数据

3.频繁刷新CACHE

4.没有设计好CACHE的方式

解决方法二:

跟踪下SQL的调用记录,在每次往CACHE或SESSION写入大量数据时记录一下时间,看是否太过频繁

1.在win2003里asp.net的进程就是w3wp.exe

2.512M

内存个人用是够用了,但是放在服务器上就有点不够用了,尤其是win2003 asp.net sql server 。尤其是sql server

他是很吃内存的,如果不控制的话,他会占光所有的物理内存(只剩下几十M 倒 100M 吧)。win2003

本身就要占用150M左右。也就剩不下什么了。

3.优化asp.net程序,就向楼上的说的那样,少用或不用session cache application之类的东西,再有就是是不是有翻页的地方,翻页处理不好也是会占很多内存的。

4.限制sql的内存。企业管理器——SQL的属性(一般是local)——“内存”标签。在这里看内存的设置,把最大值改成100M。

解决方法三:

研究了一下,可以做以下配置:

1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。

2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存

一般来说,这样就可以解决了。但仍然会出现个别网站因为程序问题,不能正确释放。

那么,怎么样才能找到是哪一个网站的?

1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid

2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池

3、到iis中察看该应用程序池对应的网站,就ok了。

解决方法四:

建义2003系统安装至少1G内存。

w3wp.exe是2003下的一个iis进程,至于sql占用内存,那有可能是因为你的sql没有设置占用内存上限

在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢。

解决内存占用过多,可以做以下配置:

1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。

2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。再设置当内存占用超过多少(如500M),就自动回收内存。

解决CPU占用过多:

1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。

2、设置应用程序池的CPUjian视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。

根据w3wp取得是那个一个应用程序池:

1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid

2、

在命令提示符下运行iisapp

-a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。(iisapp实际上是存放在

C:\windows\system32目录下的一个VBS脚本,全名为iisapp.vbs,如果你和我一样,也禁止了Vbs默认关联程序,那么就需要

手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Script

Host”来执行,就可以得到PID与应用程序池的对应关系。)

3、到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。

?

?

iis将excel表存成html失败,在IIS停的网站,导出excel导出为空,提示内存不足相关推荐

  1. excel几个表合成一张_快速将多个excel表合并成一个excel表

    应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...

  2. 有没有能把excel表弄成线上多人填报的办法?

    把Excel表弄成线上多人填报,最省时省力的方法就是使用在线协作的文档,现在普通的本地Office已经无法满足办公人员移动办公的需求,永中优云这款协作办公工具就能将Excel协作分享至社交群,让多个成 ...

  3. 如何快速把多个excel表合并成一个excel表(不熟悉vba及公式的人)

    对于不熟悉Excel公式,不熟悉vba的人,要如何按需要快速把多个excel表合并成一个excel表? 对于Excel的合并,很多需要通过vba变成,但对于不熟悉vba编程的人,如何合并呢?给大家推荐 ...

  4. 快速将多个excel表合并成一个excel表

    应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...

  5. 如何将多个Excel表合并成一个Excel表

    如何将多个Excel表合并成一个Excel表 每天需要和Excel办公软件打交道俄小伙伴,他们的电脑桌面上总是布满密密麻麻的Excel表,这样看上去非常的凌乱,其实我们完全可以将其中类别相同的Exce ...

  6. excel表转换成txt导入

    insert into t_user(userid,username,usercard,corpid,roleid,phone,useradd,userpost,usermail,userpasswd ...

  7. vba宏如何快速的把多个excel表合并成一个excel表(便捷高效)

    我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel.如图所示: 接下来我们打开新建excel表格,按快捷键Alt+F11进入图示界面,或右键单击sheet1,找到& ...

  8. 如何快速把多个excel表合并成一个excel表

    我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel.如图所示: 用microsoft excel打开新建的excel表,并右键单击sheet1,找到"查看 ...

  9. Python openpyxl打开有公式的excel表取值错误的解决办法,Python openpyxl获取excel有公式的单元格的数值错误,Python操作excel(.xlsx)封装类

    Python openpyxl打开有公式的表格,如果直接读取,会出现有公式的单元格为空或零的情况. 参见: https://blog.csdn.net/weixin_45903952/article/ ...

最新文章

  1. ef core mysql 字符集,EF Core 基础知识
  2. 开启报名丨智源论坛 · 北大教授宋令阳:超材料感知与通信
  3. 深入浅出时序数据库之预处理篇——批处理和流处理,用户可定制,但目前流行influxdb没有做...
  4. 在MOSS 2007中查看文档库和站点的大小
  5. 软件接口测试 (1)
  6. mac下svn常用命令
  7. 机械学哪种计算机语言,对于机器学习,到底该选择哪种编程语言?
  8. 【英语学习】【WOTD】shard 释义/词源/示例
  9. numpy文件读写的三对函数
  10. 代理 设置wsl_为 WSL2 一键设置代理
  11. zookeeper学习之环境搭建
  12. 今天学得有点多——end用法
  13. 双极性根升余弦信号qpsk_基于CCSDS协议的中频信号源设计与实现
  14. 《IT播吧.-.大灰狼老师出品的零基础汇编视频课程》学习笔记
  15. 聊聊新股市盈率的那些事
  16. 什么是计算机软件 软件定义,软件定义_软件定义教程_软件定义视频教程 _课课家...
  17. oracle中主键违反唯一,一个非常奇怪的违反唯一性约束的问题:
  18. 打开 html 无地址栏,网页没有地址栏怎么办 地址栏不见了解决方法【方法教程】...
  19. 苹果cms模板文件不存在public/jump.html 解决方法
  20. rm: cannot remove `d': Read-only file system解决过程

热门文章

  1. C# 通用OCR识别 文字识别 中文识别
  2. 在使用Repeater、DataList 或 DataGrid 的模板列表时,根据不同状态,显示不同颜色
  3. 工具箱(安卓)中国特供版。
  4. JAVA小记(第一周)
  5. Pixy图像处理与识别
  6. java后台批量下载文件并压缩成zip下载
  7. 老猿学5G扫盲贴:与用户和终端相关的名词UE、SUPI、GPSI、PEI
  8. ASP.NET 创建、发布、使用Web服务的详细方法
  9. 双节锂电池充电方案芯片IP2320,支持5V输入同步开关升压充电
  10. WiFi万能钥匙 v4.3.50