zoukankan      html  css  js  c++  java
  • 关于SQL Server的内存占用问题.

    以前做过一个通过c#调用Excel组件生成Excel的小程序
    前几天PM打过电话来问, 说跑完以后为什么SQL Server内存占用这么大?
    服务器配置2G的内存, 程序正常执行完毕以后退出, SQL Server占用内存在1.7G, 而且没有被释放.

    因为怕可能会影响这个服务器上的其它应用程序, 所以必须要解决一下或者说明一下原因.

    最后查了一下关于SQL Server的介绍, 发现其为了优化性能, 所以本来的机制就是如下的
    http://support.microsoft.com/default.aspx?scid=kb;zh-cn;321363

    概要如下:

    在您启动 SQL Server 之后,SQL Server 内存使用量将会持续稳定上升,即使当服务器上活动很少时也不会下降。另外,任务管理器和性能监视器将显示计算机上可用的物理内存稳定下降,直到可用内存降到 4 至 10 MB 为止。

    仅仅出现这种状态不表示内存泄漏。此行为是正常的,并且是 SQL Server 缓冲池的预期行为。

    默认情况下,SQL Server 根据操作系统报告的物理内存加载动态增大和收缩其缓冲池(缓存)的大小。只要有足够的内存可用于防止内存页面交换(在 4 至 10 MB 之间),SQL Server 缓冲池就会继续增大。像在与 SQL Server 分配内存位于相同计算机上的其他进程一样,SQL Server 缓冲区管理器将在需要的时候释放内存。SQL Server 每秒可以释放和获取几兆字节的内存,从而使它可以快速适应内存分配变化。
  • 相关阅读:
    Jenkins安装2
    11月14 vagrant 虚拟机连接
    11月13 ssh 和 netstat
    Jenkins安装
    11月12号 springboot1.5 引入redis
    11月12号 用户登录输入密码错误达到指定次数后,锁定账户 004
    js模式-观察者模式
    立即执行函数
    vue 获取数据
    在登陆退出时候使用Vuex
  • 原文地址:https://www.cnblogs.com/index/p/333975.html
Copyright © 2011-2022 走看看