命令釋放SQL Server占用的記憶體

2021-09-11 11:23:58 字數 979 閱讀 7324

sql server 占用的記憶體不會自動釋放,可以通過設定最大記憶體的方式手動釋放

--強制釋放記憶體  

create procedure [dbo].clearmemory    

as      

begin  

--清除所有快取  

dbcc dropcleanbuffers  

--開啟高階配置  

exec sp_configure 'show advanced options', 1  

exec ('reconfigure')  

--設定最大記憶體值,清除現有快取空間    單位 mb

exec sp_configure 'max server memory', 256  

exec ('reconfigure')  

--設定等待時間  

waitfor delay '00:00:01'  

--重新設定最大記憶體值  單位 mb

exec  sp_configure 'max server memory', 4096  

exec ('reconfigure')  

--關閉高階配置  

exec sp_configure 'show advanced options',0  

exec ('reconfigure')  

--下面提供記憶體檢視功能的一些指令碼語句:

--記憶體使用情況

--select * from sys.dm_os_performance_counters   

--where counter_name in ('target server memory (kb)','total server memory (kb)')   

-- 記憶體狀態   ;根據需要顯示,也可以不顯示

--dbcc memorystatus

end--執行以下語句,釋放占用記憶體

exec  clearmemory    

釋放SQL Server占用的記憶體

由於sql server對於系統記憶體的管理策略是有多少佔多少,除非系統記憶體不夠用了 大約到剩餘記憶體為4m左右 sql server才會釋放一點點記憶體。所以很多時候,我們會發現執行sql server的系統記憶體往往居高不下。這些記憶體一般都是sql server執行時候用作快取的,例如你執行...

C 記憶體占用釋放

系統啟動起來以後,記憶體占用越來越大,使用析構函式 gc.collect什麼的也不見效果,後來查了好久,找到了個辦法,就是使用 setprocessworkingsetsize函式。這個函式是windows api 函式。下面是使用的方法 system.runtime.interopservices...

Linux 釋放占用埠

在使用 swoole 擴充套件庫的 websocket 服務時,直接退出終端,但是 websocket 使用的埠依然堅挺的在被占用著。導致再次啟動 websocket 服務失敗。具體操作 1 netstat tln 該命令可以檢視本機的網路連線列表 找到你所開啟swoole服務占用的埠,我的是950...