1. 通过系统试图查看内存信息
SELECT total_physical_memory_kb / 1024 AS [物理内存(MB)] , available_physical_memory_kb / 1024 AS [可用物理内存(MB)] , system_cache_kb / 1024 AS [系统缓存内存总量(MB)] , ( kernel_paged_pool_kb + kernel_nonpaged_pool_kb ) / 1024 AS [内核池内存总量(MB)] , total_page_file_kb / 1024 AS [操作系统报告的提交限制的大小(MB)] , available_page_file_kb / 1024 AS [未使用的页文件的总量(MB)] , system_memory_state_desc AS [内存状态说明] FROM sys.dm_os_sys_memory
--用DBCC强制释放部分SQL SERVER 内存缓存:
DBCC FREESYSTEMCACHE
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
2. 查看各种对象占用内存的多少
SELECT objtype , SUM(size_in_bytes) / 1024 AS sum_size_in_KB , COUNT(bucketid) AS cache_counts FROM sys.dm_exec_cached_plans GROUP BY objtype
会缓存执行计划的对象:
proc:存储过程
prepared:预定义语句
Adhoc:动态查询
ReplProc:复制筛选过程
Trigger:触发器
View:视图
Default:默认值
UsrTab:用户表
SysTab:系统表
Check:Check约束
Rule:规则