sqlserver2008占内存高,一般是什么原因

sqlserver2008占内存高,一般是什么原因,第1张

sqlserver2008会把整个数据库缓存到内存里面,就是说数据库有多大,就会占内存多个空间,直到把内存占满为止。
这样可以提高数据库速度的,而且一般是没有问题的,如果要限制数据库占用内存控制,要在数据库里面限制,把占用内存改成最大,在SQL server management studio 里面右击服务器,点击属性,选择内存,选择最大内存。

我的电脑”→属性→高级→性能→设置→高级→虚拟内存→更改→选择虚拟内存(页面文件)存放的分区→自定义大小→确定最大值和最小值→设置成物理内存的15--3倍最佳。这是我网上求教来的处理方法,你的CPU使用率这么低,按理来说绝对是正常的。不放心的话,把系统日志调出来看下吧。另外说一句,不影响使用,是没有问题的。

1、做个软件自动给sql server 2005数据库强制释放内存;
注:这个是可以的,但是这样做很不合理;一方面服务器上的web系统正在运行,如果此时我们把系统的内存释放掉了这样肯定会引起网页OA系统的异常。
2、给sql server 2005 做个任务来释放内存;这个好像是可以的!但是这个也是很麻烦的事情。
很明显上面的方法都不是最理想的。
下面就是正确处理由于sql server 2005引起的数据库内存居高不下的办法:
首先我们需要登录 sql server 2005的资源管理器
鼠标右击我们sql server 2005的服务器,然后选择“属性”选项
找到指定数据库服务器的属性中的“内存”属性,并点击
接下来就是配置数据库内存了,可以参考我本地的配置如下图:
最后点击“确定”按钮就可以了!
注:这篇文章是我通过自己琢磨而得,如果对大家有帮助的话,大家可以借鉴一下!同时,也给自己做个备忘!

对于;你说的情况来看;服务器的硬件是够了的:出现以上现象的原因可能如下:
一、软件的编程算法有问题。
二、SQL 05你安装的是什么版本的,这个关系也比较大;建议采用64位版本的
三、用做数据库服务器的 *** 作系统建议使用;R2版的。

Proxysql 是一款高性能且开源的数据库代理工具,它可以用于将多个后端数据库服务器组合成一个高可用性、高性能、易于管理的集群。当 proxysqlcpusys 占用率过高时,可能是由于以下几种原因:
1 过多的连接请求:如果 proxysql 前面的应用程序请求连接过多,会导致 proxysqlcpusys 占用率过高。建议检查是否可以优化应用程序,或者增加数据库服务器以提高负载能力。
2 SQL 查询过于复杂:如果 SQL 查询过于复杂,将导致 proxysqlcpusys 占用率显著升高。建议检查慢查询日志,尝试优化查询语句,或者增加更多的数据库服务器以分担负载。
3 配置文件错误:proxysql 的配置文件可能会影响其性能,如果出现错误配置,也会导致 proxysqlcpusys 占用率过高。建议检查配置文件并进行适当的修改。
4 资源不足:如果系统内存不足或 CPU 资源不足,也可能导致 proxysqlcpusys 占用率过高。建议升级硬件或增加系统资源以提高性能。
综上所述,如果出现 proxysqlcpusys 占用率过高的问题,需要仔细检查问题的来源并采取相应的措施来解决。

当系统本身有内存可以用的的时候,SQL Server 根据 *** 作系统报告的物理内存加载动态增大和收缩其缓冲池(缓存)的大小。只要有足够的内存可用于防止内存页面交换(在 4 至 10 MB 之间),SQL Server 缓冲池就会继续增大。如果你想把sql的内存控制在某个数量,可以更改配置信息,
1打开企业管理器,展开服务器组。
2单击该服务器,点击鼠标右键,单击属性菜单。
3在d出的对话框中单击内存选项卡。
可以看到SQLServer将动态配置内存的最大值修改为物理内存的最大值了
解决 SQL Server 耗尽内存的情况
如果碰到SQL Server服务造成内存不断扩展最终系统死机等情况,请按照以下方法解决。
原理:SQL Server 2000引入的动态内存分配机制,一般不能很好的回收内存,如果计算机一直不关闭,就会发生内存耗尽的可能。可以选择每周关机一次来避免,或者是按照下述方法来抑制内存的增长。
1、在服务器上开始—Microsoft SQL Server—企业管理器 中启动SQL企业管理器
2、启动以后打开右边的控制台树:控制台根目录\Microsoft SQL server\Sql Server组\(Local) 。
3、在(Local)节点上单击鼠标右键,选择"属性"菜单,可以看到一个 SQl Server属性(配置) 窗体
4、选择"内存"舌标,打开内存配置页面。将内存的最大值限定在一定的范围内,一般按照以下比例:
a) 如果仅仅用于数据库服务器,为总内存的80-90%
b) 如果兼任域服务器,一般为60-70%
c) 如果还兼任WEB服务器,建议最大为60%
5、设定完毕点击确定,然后重新启动SQl Server服务使之生效即可。
解决服务器的w3wpexe进程占用cpu和内存过多的问题
解决CPU占用过多:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的CPU监视,不超过30%(一个程序池20个站),每分钟刷新,超过限制时关闭。
根据w3wp取得是哪一个应用程序池:
1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。(iisapp实际上是存放在C:\windows\system32目录下的一个VBS脚本,全名为iisappvbs,如果你和我一样,也禁止了Vbs默认关联程序,那么就需要手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Script Host”来执行,就可以得到PID与应用程序池的对应关系。)
3、到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。
解决内存占用过多,可以做以下配置:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的回收时间,去掉默认为1720,设置固定时间回收(在下列时间回收工作进程:00:01 06:01 12:01)。再设置当内存占用超过多少(如192M 10个站一个程序池时),就自动回收内存。
3、在性能中设置启用CPU监视
最大使用率 30%
刷新率 1分钟
*** 作:关闭
1、 要限制一个站点的CPU使用,必须将该站点设置为独立应用程序池,共用应用程序池是无法限制单个站点的。IIS独立应用程序池,就需要独立的进程,非常消耗内存。独立池越多,就有越多的W3WP进程。对于每个站点均要独立应用程序池的服务器,在一般的普通P430 2G内存 的普通服务器上,建议不要超过50个站点,最好30以内,不然服务器压力非常大。在配置上,我一般把资源消耗较大的网站独立一个池,一般普通BBS或者生成HTML的系统大概5个站一个池。普通网站以及一些企业站点均共用一个池。
2、根据wlmmc的经验,在服务器硬件允许的情况下,一般不要限制站点内存使用,这样能够保证网站运行,不会出现用户掉线情况。需要限制某站的最大虚拟内存不要小于64M,不然可能出现一些未知的错误。
3、这些都不是根本解决办法,它的根本问题是网站程序有问题,要解决根本问题还要从程序查起。根据本文开头提到的方法查到具体的应用程序池,找到使用此应用程序池的网站,解决网站程序存在的问题,如死循环之类。
4、除了w3wpexe, 在调用数据库进行大量查询 *** 作的时候,也会大量占用CPU资源,这是难免的(数据库方面的语句及结构优化不在本文讨论范围之内)。个人认为,只要不是CPU长时间占用100%, 一般在75%左右都是正常的。

1、首先登录SQL Server实例,如下图所示。

2、接着右键单击某个数据库,选择报表下面的标准报表,第一个就是了。

3、接下来在右侧就出现了磁盘的使用情况图示了,如下图所示。

4、可以点击磁盘空间的加号展示列表数据,如下图所示。

5、另外顶部有刷新按钮可以刷新最新的数据。

6、最后还可以通过打印按钮将数据打印出来,如下图所示。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13047537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存