如果我打开Sysinternals Process Explorer,我可以看到sqlsrvr.exe进程有:
Private Bytes: 227.000 K Working Set: 140.000 K Virtual Size: 8.762.000 K
这意味着什么?有没有办法为其他进程释放这些内存?为什么虚拟大小数字为已分配内存?我认为Virtual Size只是’保留记忆’.
解决方法
When you start sql Server,sql Server memory usage may continue to steadily increase and not decrease,even when activity on the server is low. Additionally,the Task Manager and Performance Monitor may show that the physical memory available on the computer is steadily decreasing until the available memory is between 4 to 10 MB.
This behavior alone does not indicate a memory leak. This behavior is normal and is an intended behavior of the sql Server buffer pool.
By default,sql Server dynamically grows and shrinks the size of its buffer pool (cache) depending on the physical memory load reported by the operating system. As long as enough memory is available to prevent paging (between 4 – 10 MB),the sql Server buffer pool will continue to grow. As other processes on the same computer as sql Server allocate memory,the sql Server buffer manager will release memory as needed. sql Server can free and acquire several megabytes of memory each second,allowing it to quickly adjust to memory allocation changes.