AppDomain is marked for unload due to memory pressure.
来源:互联网 发布:股票程序化交易编程 编辑:程序博客网 时间:2024/05/30 04:11
32-bit or 64-bit? Have you tried tweaking the -g startup option for
sqlservr.exe? That option configures the mem-to-leave area, which is where
SQLCLR pulls its memory from... It defaults to 256 MB on 32-bit systems, so
it might need a tweak. Also, how are you doing the string concatenation in
your function? Are you using StringBuilder, or the concatenation operator
(+)? The latter could be causing part of your problem if it's what you're
using, as a lot more objects have to be allocated and deallocated than with
StringBuilder...
With regard to perf counters, the .NET counters are the most useful; there
are also a handful of DMVs you can use. Check out Kimberly Tripp's white
paper, which talks about some of this towards the end:
http://www.sqlskills.com/resources/Whitepapers/SQL%20Server%20DBA%20Guide%20to%2
0SQLCLR.htm
-------------------------------
The amount of memory on the SQL Server would be my first concern. 1GB of RAM just isn't very much. The OS alone can consume that relatively quickly, especially with IIS running the server as well. Hyperthreading isn't generally recommended with SQL Server however, it has nothing to do with your problem currently, which is all memory based. If anything having a true second core may make the Memory bottleneck that much more visible, as the processors may process faster than the memory can keep up and paging to disk begins to occur.
-------------------------------
You have to have significant memory issues to have both of these events happen together. The proc cache is Bpool, and the CLR is MTL/VAS. If you are on 32 bit SQL, then you need to set the -gparameter with 512 and it should resolve the issue with the app domain unload. What else is running on the SQL Server? Full Text Indexing/Integration Services/Reporting Services/IIS? External Memory Pressure can easily trigger internal memory pressure in SQL. If you have things other than just the SQL Database Engine running, then you may need to scale back your max server memory setting to 6GB or less, and you might consider removing the /3GB to give the 2GB of VAS to the kernel mode since your bpool is being allocated in AWE.
Xprocs, Large Query Plans, connetions with a network packet size > 8060 bytes, SQLCLR, OLE Automation calls, all run in the MTL/VAS allocation taken by SQL Server. What does your CLR Assembly do? That is one question I have yet to see posed on this post? Have you considered that you might have placed your CLR in the wrong place putting it in SQL Server? What is the PermissionSet for the Assembly? If it is UNSAFE then I would definately begin to consider that it might be doing the wrong thing inside of SQL Server. Also check if you use XML documents in SQL that you are destroying the handles on them as this can leak memory, and if you are using OLE Automation calls that you destroy those objects properly as well.
- AppDomain is marked for unload due to memory pressure.
- marked for unload due to memory pressure
- air max pas cher homme due to the pressure
- SolrCore 'collection1' is not available due to init failure: Index locked for write for core collect
- Eclipse:No fixes avaliable for 'Access restriction: The type basic is not accessible due to restrict
- CursorWindow can not be created due to cursor [memory] leak
- CursorWindow can not be created due to cursor [memory] leak
- DB can't be started due to Memory lack
- Scene is unreachable due to lack of entry points and does not have an identifier for runtime access
- Scene is unreachable due to lack of entry points and does not have an identifier for runtime access
- 警告: Scene is unreachable due to lack of entry points and does not have an identifier for runtime acc
- Scene is unreachable due to lack of entry points and does not have an identifier for runtime access
- msg=SolrCore 'collection1' is not available due to init failure: Could not load conf for core collec
- Swift: 消除警告-Scene is unreachable due to lack of entry points and does not have an identifier for
- There is insufficient memory for the Java Runtime Environment to continue. 解决
- There is insufficient memory for the Java Runtime Environment to continue问题解决
- How To Find Where The Memory Is Growing For A Process (Doc ID 822527.1)
- There is insufficient memory for the Java Runtime Environment to continue
- Linux 服务器的系统内存监控方法详细解析
- C#项目打包,并自动安装SQL数据库(转)
- CCommandInfo说明
- 两种取recordset字段值的方法
- js 日期转化为unix时间戳
- AppDomain is marked for unload due to memory pressure.
- 关于XP上2410/2440用DNW通过USB下载蓝屏
- VC6合并两个内部结构相同的vector
- J2EE分层设计是Java企业应用的最基本的设计思想。
- GPS卫星同步时钟,GPS卫星时钟,GPS时钟
- LINUX - socket编程(转载)errno.h- -
- 监听器启动问题
- 最近的sso工作进展
- #pragma使用详解(转载)