查看Sql Server 数据库的内存使用情况

转自:https://www.cnblogs.com/wanghao4023030/p/8299478.html 
 

DBCC MemoryStatus 查看内存状态

清理缓存、清除缓存

DBCC FREEPROCCACHE 清除存储过程相关的缓存
DBCC FREESESSIONCACHE 会话缓存
DBCC FREESYSTEMCACHE('All') 系统缓存
DBCC DROPCLEANBUFFERS 所有缓存
 需要立刻释放数据库占用内存~(如果业务在跑的情况下,可能会导致数据丢失,如果业务在跑应该checkpoint再去做如下操作,或者直接设定最大值等sql server自动调节慢慢降下来)

--清除存储过程缓存
DBCC FREEPROCCACHE
--清除会话缓存
DBCC FREESESSIONCACHE
--清除系统缓存
DBCC FREESYSTEMCACHE('All')
--清除所有缓存
DBCC DROPCLEANBUFFERS
GO --打开高级配置
exec sp_configure'show advanced options', 1
GO
--设置最大内存MB 2G
exec sp_configure 'max server memory', 2048*15
EXEC ('RECONFIGURE' )
--设置执行时间
WAITFOR DELAY '00:00:10'
--设置最大内存MB 20G
EXEC sp_configure 'max server memory', 20480 * 3
EXEC ('RECONFIGURE' )
GO
--关闭高级配置
exec sp_configure'show advanced options',0 ---------------------
作者:smartsmile2012
来源:CSDN
原文:https://blog.csdn.net/smartsmile2012/article/details/80950899
版权声明:本文为博主原创文章,转载请附上博文链接!
 
2005
  

select *,CAST(cntr_value/1024.0 as decimal(20,1)) MemoryMB
from master.sys.sysperfinfo
where counter_name='Total Server Memory (KB)'

2008+

SELECT physical_memory_in_use_kb/1024  AS physical_memory_in_use_MB,* FROM sys.dm_os_process_memory 
 
-- 查询SqlServer总体的内存使用情况
select type
, sum(virtual_memory_reserved_kb) VM_Reserved
, sum(virtual_memory_committed_kb) VM_Commited
, sum(awe_allocated_kb) AWE_Allocated
, sum(shared_memory_reserved_kb) Shared_Reserved
, sum(shared_memory_committed_kb) Shared_Commited
--, sum(single_pages_kb) --SQL2005、2008
--, sum(multi_pages_kb) --SQL2005、2008
from sys.dm_os_memory_clerks
group by type
order by type -- 查询当前数据库缓存的所有数据页面,哪些数据表,缓存的数据页面数量
-- 从这些信息可以看出,系统经常要访问的都是哪些表,有多大?
select p.object_id, object_name=object_name(p.object_id), p.index_id, buffer_pages=count(*)
from sys.allocation_units a,
sys.dm_os_buffer_descriptors b,
sys.partitions p
where a.allocation_unit_id=b.allocation_unit_id
and a.container_id=p.hobt_id
and b.database_id=db_id()
group by p.object_id,p.index_id
order by buffer_pages desc -- 查询缓存的各类执行计划,及分别占了多少内存
-- 可以对比动态查询与参数化SQL(预定义语句)的缓存量
select cacheobjtype
, objtype
, sum(cast(size_in_bytes as bigint))/1024 as size_in_kb
, count(bucketid) as cache_count
from sys.dm_exec_cached_plans
group by cacheobjtype, objtype
order by cacheobjtype, objtype -- 查询缓存中具体的执行计划,及对应的SQL
-- 将此结果按照数据表或SQL进行统计,可以作为基线,调整索引时考虑
-- 查询结果会很大,注意将结果集输出到表或文件中
SELECT usecounts ,
refcounts ,
size_in_bytes ,
cacheobjtype ,
objtype ,
TEXT
FROM sys.dm_exec_cached_plans cp
CROSS APPLY sys.dm_exec_sql_text(plan_handle)
ORDER BY objtype DESC ;
GO

  原文:https://www.cnblogs.com/zhaoguan_wang/p/4602866.html

其他一些有帮助的语句:

1. 查看SQL语句占用多大内存:

SELECT s2.dbid,
s1.sql_handle,
(SELECT TOP 1 SUBSTRING(s2.text,statement_start_offset / 2+1 ,
( (CASE WHEN statement_end_offset = -1
THEN (LEN(CONVERT(nvarchar(max),s2.text)) * 2)
ELSE statement_end_offset END) - statement_start_offset) / 2+1)) AS sql_statement,
execution_count,
plan_generation_num,
last_execution_time,
total_worker_time,
last_worker_time,
min_worker_time,
max_worker_time,
total_physical_reads,
last_physical_reads,
min_physical_reads,
max_physical_reads,
total_logical_writes,
last_logical_writes,
min_logical_writes,
max_logical_writes
FROM sys.dm_exec_query_stats AS s1
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2
WHERE s2.objectid is null
ORDER BY s1.sql_handle, s1.statement_start_offset, s1.statement_end_offset;

最新文章

  1. CentOS / Redhat : Configure CentOS as a Software Router with two interfaces
  2. curl命令使用
  3. SharePoint 2013 重命名网站集名称(SharePoint 2013 rename site collection)
  4. Handler 消息传递机制
  5. [MySQL登录错误] ERROR1045 (28000): Access denied for user 'omonroy'@'20.112.251.19' (using password:YES)
  6. How to trace a java-program
  7. C#:读取配置文件
  8. Java读取excel表格
  9. HDU Today(最短路)
  10. 【Sql】mySQL在windows环境启动
  11. ABP官方文档翻译 9.1 EntityFramework集成
  12. CentOs7下php7装redis拓展报错
  13. 第11月第11天 avplayer循环播放
  14. dp练习(8)——数的划分
  15. Bridge 桥接模式 MD
  16. [Android Tips] 32. 解决 Android Device Monitor 在 Mac OS X 卡住
  17. Linux服务器上日志报com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1783 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
  18. sg函数总结
  19. ACM学习历程—HDU5700 区间交(树状数组 && 前缀和 && 排序)
  20. 小米监控 open-falcon部署

热门文章

  1. Java的ThreadContext类加载器的实现
  2. Oracle之函数concat、lpad
  3. CSRF学习笔记之CSRF的攻击与防御以及审计【00x1 】
  4. 解读MT7620A上的DTS文件
  5. Java设计模式——观察者模式(事件监听)
  6. Tensorflow之改变tensor形状
  7. JAVA源文件中是否可以包括多个类,有什么限制
  8. hdu 3835:R(N)(水题,数学题)
  9. 【Raspberry Pi】crontab 定时任务
  10. improve deep learning network 课程笔记