显示SQL Server分配的全部内存
1。在sqlserver 中建立查询
2。执行 DBCC MEMORYSTATUS
在Windows Server 2000/2003任务管理器中,“内存使用”这个字段是显示工作区分配的内存。一个进程的工作区是这个进程在虚拟地址空间的页面集,这些页面集当前驻存在物理内存中。不可分页的内存分配如地址窗口化扩展控件(AWE),或大型页分配的内存不包含在工作区中。所以,档AWE内存分配机制启用的情况下,任务管理器将显示不正确的内存使用量。要找出SQL Server通过AWE机制分配了多少内存,你可以使用下面的语句查询 sys.dm_os_memory_clerks 动态管理视图:
SELECT SUM(awe_allocated_kb) / 1024 as [AWE allocated, Mb] FROM sys.dm_os_memory_clerks
在Windows Server 2008的任务管理器中,这个字段被称作“内存(私有工作区)”。私有工作区是工作区的一个子集,它明确显示一个进程占用的内存总量,但不包括跟其他进程共享部分的内存。你可以大概地估计每个进程的分页内存:用性能监视器中的专用字节数计数器中的内存量减去这个进程的工作区内存量。
1. 监控SQL Sever 占用的全部内存,你可以运行DBCC MEMORYSTATUS命令。这个命令提供了当前SQL Server数据库内存状态的一个快照。在这个命令的结果中,内存管理器部分显示了SQL Server消耗的总内存。这部分的元素如下所示: a) VM保留: 此值显示了整个 SQL Server 而已保留的虚拟地址空间 (VAS) 量。 b) VM保证: 此值显示了整个 VAS SQL Server 已提交的量。已提交的 VAS 已经与物理内存相关联。 c) AWE分配: 此值显示了整个通过 AWE 机制 SQL Server 的 32 位版本上分配的内存量。或者,此值的显示在产品的 64 位版本占用整个锁定页面的内存量。 d) 保留的内存: 此值显示为专用的管理员连接 (DAC) 保留的内存。 e) 保留使用内存中: 此值显示了正在使用的保留的内存。 下面的例子是内存管理器部分的结果:
Memory Manager KB ------------------------------ -------------------- VM Reserved 1761400 VM Committed 1663556 AWE Allocated 0 Reserved Memory 1024 Reserved Memory In Use 0
2. 在SQL Server 2008中,你可以通过简单查询sys.dm_os_process_memory动态管理视图得到这些信息。字段physical_memory_in_use显示SQL Server使用的总内存 量,包括通过大型页和 AWE API分配的内存。字段large_page_allocations_kb和字段locked_pages_allocations_kb分别显示通过大型页 API 分配的内存和AWE API 分配的内存。 参考:
如何使用 DBCC MEMORYSTATUS 命令来监视 SQL Server 2005 年的内存使用情况 http://support.microsoft.com/kb/907877
sys.dm_os_process_memory
显示SQL Server分配的全部内存的更多相关文章
- 《Troubleshooting SQL Server》读书笔记-内存管理
自调整的数据库引擎(Self-tuning Database Engine) 长期以来,微软都致力于自调整(Self-Tuning)的SQL Server数据库引擎,用以降低产品的总拥有成本.从SQL ...
- 如何使用 DBCC MEMORYSTATUS 命令来监视 SQL Server 2005 中的内存使用情况
https://technet.microsoft.com/en-us/solutionaccelerators/dd537566.aspx 注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完 ...
- 显示 Sql Server 中所有表或表中行的信息
在MSSQL中显示某个数据库中所有表或视图的信息: (以下语句为获取所有表信息,将绿色字"U"替换为"V"则获取所有视图信息.) SELECT sysobjec ...
- SQL Server 2008 R2占用内存越来越大两种解决方法
SQL Server 2008 R2运行越久,占用内存会越来越大. 第一种:有了上边的分析结果,解决方法就简单了,定期重启下SQL Server 2008 R2数据库服务即可,使用任务计划定期执行下边 ...
- 疑难杂症--SQL SERVER 2012下数据库内存异常回收
--=================================================================== --背景: 在一台SQL SERVER 2012 SP1(1 ...
- SQL Server 2008 R2占用内存越来越大解决方法
最近开发sql server数据库项目的过程中发现了这么一个问题,后台网站内存占用95%,通过任务管理器查看占内存的进程sqlserver.exe,是因为SQL Server 2008 R2运行越久, ...
- ms sql server缓存清除与内存释放
Sql Server系统内 存管理在没有配置内存最大值,很多时候我们会发现运行Sql Server的系统内存往往居高不下.这是由于他对于内存使用的策略是有多少闲置的内存就占用多少,直到内存使用虑达到系 ...
- SQL Server没有足够的内存继续执行程序 (mscorlib)的解决办法
在Microsoft SQL Server Management Studio 中执行较大的sql脚本时,会报没有足够的内存继续执行程序(mscorlib)的错误.如下图所示 解决方法: 使用sqlc ...
- SQL Server 缓存清除与内存释放
Sql Server系统内存管理在没有配置内存最大值,很多时候我们会发现运行SqlServer的系统内存往往居高不下.这是由于他对于内存使用的策略是有多少闲置的内存就占用多少,直到内存使用虑达到系统峰 ...
随机推荐
- Liferay7 BPM门户开发之26: 集成Activiti到Liferay7
开发顺序: 实战任务1,开发BPM管理后台(用于在Liferay管理中心管理Activiti模型上传) 一个熟悉Portlet操作的项目,为开发打好基础. http://www.cnblogs.com ...
- 使用gulp进行React任务的构建
如果你不熟悉gulp的操作,可以看下下面的教程: gulp学习笔记1 gulp学习笔记2 gulp学习笔记3 gulp学习笔记4 对于gulp在react中的构建,找了很多资料,看了很多文章,也根据文 ...
- c#中的事件
之前的博客讲到委托,委托本质上是将方法作为方法的参数传给方法.实际开发中,实现某个功能的的代码通常会封装成一个类,本例中字符串处理封装成MyStringProc类, 代码如下: namespace D ...
- 不能返回函数内部new分配的内存的引用
以前在开发电子秤接口动态库时,曾尝试在用于获取重量的函数外面定义一个字符串指针,然后作为参数传入函数内部,然后在函数内部new,用来输出函数执行过程中发生的错误.但是总是出错,没有找到原因,后来无意中 ...
- inotify-tools使用方法介绍
原文 inotify-tools 是为linux下inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件. inotify-tool ...
- C++/Php/Python/Shell 程序按行读取文件或者控制台
写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下.方便使用 1. C++ 读取文件 #include<stdio.h> #include<string.h> i ...
- linux centos java 应用服务器配置
备忘: https://oneinstack.com/ 1.用root装jdk nginx.tomcat. 2.配置tomcat主机,上传应用.修改数据库连接帐号,修改log4j文件路径.3.安装my ...
- C#--GDI+的LinearGradientBrush类
命名空间:System.Drawing.Drawing2D LinearGradientBrush对象用颜色线性渐变填充图形.简言之,颜色渐变包含一种在两种指定的颜色之间渐变的颜色,渐变的方向是沿着指 ...
- js 去掉字符串前面的0
<script>var a='00123';alert(a.replace(/\b(0+)/gi,""));</script>
- jquery easyui 插件开发
(function($) { /** * 插件定义 */ $.fn.resquery = function(options, param) { if (typeof options == " ...