如何解决SQLServer占内存过多的问题
当系统本身有内存可以用的的时候,SQL Server 根据操作系统报告的物理内存加载动态增大和收缩其缓冲池(缓存)的大小。只要有足够的内存可用于防止内存页面交换(在 4 至 10 MB 之间),SQL Server 缓冲池就会继续增大。如果你想把sql的内存控制在某个数量,可以更改配置信息,
1打开企业管理器,展开服务器组。
2单击该服务器,点击鼠标右键,单击属性菜单。
3在弹出的对话框中单击内存选项卡。
可以看到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、1选择逗开始
>
所有程序
>
microsoft
sql
server
2008
r2
>
sql
server
management
studio地。系统显示逗连接到服务器地界面。
2、2输入各项数据,单击连接
3、3系统显示逗对象资源管理器地界面
4、4上图单击右键,在弹出的快捷菜单中选择逗属性地。
5、5在左侧导航栏中选择逗内存地,将右侧逗最大服务器内存地的值设置为物理内存的60%,本例以8g内存为例
6、6最后单击确定,设置完成
1、SQL Server 作为一个数据库服务系统,它的作用就是以尽可能高效、实用的方式管理数据,所以,它占用服务器内存高是很普遍的现象。
2、但是如果在SQL数表设计、存储过程代码编写、临时表的应用中,不注意考虑内存占用与释放,CPU运算,可能会额外的造成不必要的内存占用、CPU占用等。
3、SQL Server在运行过程中,一般会以它认为需要的量去占用内存,对于企业实际运行的SQL Server来说,一般都使用专业级别的服务器,一般都配上几十甚至上百G的内存,不过,即便是这样,内存也不一定够,它基本上会把设定为它可以用的内存给吃干净。因为它的目标就是以最高的效率查找和提供数据。
4、如果它的内存占用你受不了,让你的电脑没法正常运作了,那你可以设定它的最大内存占用,一般去SQL Server管理工具中,找服务器的属性,然后找到相关的参数,作个调整即可。
5、如果你是在你工作或娱乐的电脑上安装了一个SQL Server,用于工作或学习,那么,在不用时,停止SQL Server相关服务,内存即可被基本完全空出(它对CPU的占用也会停止)。(SQL Server 2000及以前版本在托盘中有一个小工具可以控制起动或停止,其后的版本,需要去控制面版中的逗服务地中去停相关的应用。)
如下的解决方法请参考:
打开任务管理器,在电脑下方任务栏上右键----任务管理器
任务管理器,点击“CPU”显示最高的那个就是“服务主机本地系统(网络受限)”
解决办法是关闭Superfetch这个服务
在我的电脑图标或者“这台电脑”图标上右键----管理----服务和应用程序----服务
服务里面找到Superfetch这个服务,右键----停止,重新打开任务管理器,可以马上看到效果,或者说电脑马上就没那么卡了,搞定
1改变页面文件的位置
其目的主要是为了保持虚拟内存的连续性。因为硬盘读取数据是靠磁头在磁性物质上读取,页面文件放在磁盘上的不同区域,磁头就要跳来跳去,自然不利于提高效率。
而且系统盘文件众多,虚拟内存肯定不连续,因此要将其放到其他盘上。改变页面文件位置的方法是:用鼠标右键点击“我的电脑”,选择“属性→高级→性能设置→高级→更改虚拟内存”,在驱动器栏里选择想要改变到的位置即可。
值得注意的是,当移动好页面文件后,要将原来的文件删除(系统不会自动删除)。
2改变页面文件的大小
改变了页面文件的位置后,我们还可以对它的大小进行一些调整。调整时我们需要注意,不要将最大、最小页面文件设为等值。因为通常内存不会真正“塞满”,它会在内存储量到达一定程度时,自动将一部分暂时不用的数据放到硬盘中。最小页面文件越大,所占比例就低,执行的速度也就越慢。最大页面文件是极限值,有时打开很多程序,内存和最小页面文件都已“塞满”,就会自动溢出到最大页面文件。
所以将两者设为等值是不合理的。一般情况下,最小页面文件设得小些,这样能在内存中尽可能存储更多数据,效率就越高。最大页面文件设得大些,以免出现“满员”的情况。
3禁用页面文件
当拥有了512MB以上的内存时,页面文件的作用将不再明显,因此我们可以将其禁用。方法是:依次进入注册表编辑器“HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession Ma-nagerMemoryManagement”下,在“DisablePa-ging Executive”(禁用页面文件)选项中将其值设为“1”即可。
4清空页面文件
在同一位置上有一个“ClearPageFileAtShutdown(关机时清除页面文件)”,将该值设为“1”。这里所说的“清除”页面文件并非是指从硬盘上完全删除pagefilesys文件,而是对其进行“清洗”和整理,从而为下次启动Windows XP时更好地利用虚拟内存做好准备。
5调整高速缓存区域的大小
可以在“计算机的主要用途”选项卡中设置系统利用高速缓存的比例(针对Windows 98)。如果系统的内存较多,可选择“网络服务器”,这样系统将用较多的内存作为高速缓存。在CD-ROM标签中,可以直接调节系统用多少内存作为CD-ROM光盘读写的高速缓存。
6监视内存系统的内存不管有多大,总是会用完的。虽然有虚拟内存,但由于硬盘的读写速度无法与内存的速度相比,所以在使用内存时,就要时刻监视内存的使用情况。Windows操作系统中提供了一个系统监视器,可以监视内存的使用情况。一般如果只有60%的内存资源可用,这时你就要注意调整内存了,不然就会严重影响电脑的运行速度和系统性能。
7及时释放内存空间
如果你发现系统的内存不多了,就要注意释放内存。所谓释放内存,就是将驻留在内存中的数据从内存中释放出来。释放内存最简单有效的方法,就是重新启动计算机。
另外,就是关闭暂时不用的程序。还有要注意剪贴板中如果存储了图像资料,是要占用大量内存空间的。这时只要剪贴几个字,就可以把内存中剪贴板上原有的冲掉,从而将它所占用的大量的内存释放出来。
8优化内存中的数据
在Windows中,驻留内存中的数据越多,就越要占用内存资源。所以,桌面上和任务栏中的快捷图标不要设置得太多。如果内存资源较为紧张,可以考虑尽量少用各种后台驻留的程序。平时在操作电脑时,不要打开太多的文件或窗口。
长时间地使用计算机后,如果没有重新启动计算机,内存中的数据排列就有可能因为比较混乱,从而导致系统性能的下降。这时你就要考虑重新启动计算机。
9提高系统其他部件的性能
计算机其他部件的性能对内存的使用也有较大的影响,如总线类型、CPU、硬盘和显存等。如果显存太小,而显示的数据量很大,再多的内存也是不可能提高其运行速度和系统效率的。如果硬盘的速度太慢,则会严重影响整个系统的工作。
电脑内存优化技巧
我们应该了解了它在内存与硬盘之间的工作关系,同时认识到了虚拟内存并非越大越好,而应该根据计算机的具体配置进行合理的调整。下面是我整理的电脑内存优化技巧,希望对你有帮助!
1 调整高速缓存区域的大小
可以在“计算机的主要用途”选项卡中设置系统利用高速缓存的比例(针对Windows 98)。如果系统的内存较多,可选择“网络服务器”,这样系统将用较多的内存作为高速缓存。在CD-ROM标签中,可以直接调节系统用多少内存作为CD-ROM光盘读写的高速缓存。
2 监视内存
系统的内存不管有多大,总是会用完的。虽然有虚拟内存,但由于硬盘的读写速度无法与内存的速度相比,所以在使用内存时,就要时刻监视内存的使用情况。Windows操作系统中提供了一个系统监视器,可以监视内存的使用情况。一般如果只有60%的内存资源可用,这时你就要注意调整内存了,不然就会严重影响电脑的运行速度和系统性能。
3 及时释放内存空间
如果你发现系统的内存不多了,就要注意释放内存。所谓释放内存,就是将驻留在内存中的数据从内存中释放出来。释放内存最简单有效的方法,就是重新启动计算机。另外,就是关闭暂时不用的程序。还有要注意剪贴板中如果存储了图像资料,是要占用大量内存空间的。这时只要剪贴几个字,就可以把内存中剪贴板上原有的冲掉,从而将它所占用的大量的内存释放出来。
4 改变页面文件的大小
改变了页面文件的位置后,我们还可以对它的大小进行一些调整。调整时我们需要注意,不要将最大、最小页面文件设为等值。因为通常内存不会真正“塞满”,它会在内存储量到达一定程度时,自动将一部分暂时不用的数据放到硬盘中。最小页面文件越大,所占比例就低,执行的速度也就越慢。最大页面文件是极限值,有时打开很多程序,内存和最小页面文件都已“塞满”,就会自动溢出到最大页面文件。所以将两者设为等值是不合理的。一般情况下,最小页面文件设得小些,这样能在内存中尽可能存储更多数据,效率就越高。最大页面文件设得大些,以免出现“满员”的情况。
5 禁用页面文件
当拥有了512MB以上的内存时,页面文件的作用将不再明显,因此我们可以将其禁用。方法是:依次进入注册表编辑器“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management”下,在“DisablePa-ging Executive”(禁用页面文件)选项中将其值设为“1”即可。
6 优化内存中的数据
在Windows中,驻留内存中的数据越多,就越要占用内存资源。所以,桌面上和任务栏中的快捷图标不要设置得太多。如果内存资源较为紧张,可以考虑尽量少用各种后台驻留的程序。平时在操作电脑时,不要打开太多的文件或窗口。长时间地使用计算机后,如果没有重新启动计算机,内存中的数据排列就有可能因为比较混乱,从而导致系统性能的下降。这时你就要考虑重新启动计算机。
7 提高系统其他部件的性能
计算机其他部件的性能对内存的使用也有较大的影响,如总线类型、CPU、硬盘和显存等。如果显存太小,而显示的数据量很大,再多的内存也是不可能提高其运行速度和系统效率的。如果硬盘的速度太慢,则会严重影响整个系统的工作。
8 改变页面文件的位置
其目的主要是为了保持虚拟内存的连续性。因为硬盘读取数据是靠磁头在磁性物质上读取,页面文件放在磁盘上的不同区域,磁头就要跳来跳去,自然不利于提高效率。而且系统盘文件众多,虚拟内存肯定不连续,因此要将其放到其他盘上。改变页面文件位置的方法是:用鼠标右键点击“我的电脑”,选择“属性→高级→性能设置→高级→更改虚拟内存”,在驱动器栏里选择想要改变到的位置即可。值得注意的是,当移动好页面文件后,要将原来的文件删除(系统不会自动删除)。
9 清空页面文件
在同一位置上有一个“ClearPageFileAtShutdown(关机时清除页面文件)”,将该值设为“1”。这里所说的“清除”页面文件并非是指从硬盘上完全删除pagefilesys文件,而是对其进行“清洗”和整理,从而为下次启动Windows XP时更好地利用虚拟内存做好准备。
拓展阅读:
电脑内存使用技巧
一般来说,计算机运行的速度在很大程度上受内存大小的影响,其速度的提高与我们正确合理使用内存有着很大的关系。为此,笔者专门整理了内存的有关使用技巧和事项,希望它能起到抛砖引玉的作用。
使用电脑的过程中,有时会突然弹出一个对话框,提示我们内存不足,将无法继续运行程序,这是怎么回事呢?引起内存不足的原因可能是多方面的,其中一个很重要的就是剪贴板中现存放的是一幅图画或相当篇幅的一段文本占用了相当大的内存,从而导致了内存的不足。为此我们应该及时清除剪贴板的内容。具体操作步骤为:用鼠标依次单击“开始”→“程序”→“附件”→“剪贴板查看程序”,在弹出的“剪贴板查看程序”窗口中单击“编辑”菜单下的“删除”命令,就可以达到目的了。
通常服务器对内存的要求较高一些,如果我们在服务器中同时打开多个服务时,原有的内存可能就不能满足要求,那么我们这时该怎么办呢?也许你会毫不犹豫地说,给服务器增加内存呗!当然,增加内存固然可以解决一些问题,但这并不是解决问题的全部,因为增加内存就意味着增加成本,因此我们应该采取合理分配内存的方法来解决这样的问题。首先我们应该对系统的内存需求有一个清楚的了解,仔细查查有哪些程序在占用内存,并将一些对本系统无用的功能从中删除。例如,我们可以删除不必要的协议和服务,以便让出更大的内存供应用程序使用,同时也为网络和处理器的工作减少了许多负担。另外,还应合理地分配各类应用服务,有些人喜欢将诸如NetWare网关服务、RAS、DHCP、WINS、DNS等多种服务集中在一台服务器上,以方便管理。事实上这种做法是很不科学的,并且非常容易产生服务器内存的不足,正确的方法是将多种服务平均分担到几台服务器上,以便减少服务对内存的需求。
在使用电脑的过程中,我们经常会发现系统会时不时地弹出一个对话框,来提醒我们内存出错了。其实出现这种现象的原因很多,例如Windows系统中运行的应用程序可能会非法访问内存,或者内存中同时驻留了太多应用程序而占用了太多的内存空间,或者是系统同时打开的操作窗口太多而内存反应不过来,也或者是应用程序相关配置文件不合理等原因。那么我们该如何解决这种故障现象呢?此时,我们应该及时清除内存驻留程序,减少活动窗口,重新调整配置文件,或者是重新安装操作系统和应用程序。如果上述操作还不能解决问题的话,我们就可以把内存进行升级,然后重新启动计算机再试试。
有很多人在对电脑进行升级时,往往只注重对内存的升级而忽略了对其他配件的同步升级。其实这种升级的效果不是很好的,因为升级之前每个配件之间是匹配工作的,而升级之后就会自动打破这些配件之间的协调性。因此我们在升级内存的同时,也要适当地考虑其他配件的同步升级,特别是对硬盘,因为内存与硬盘之间的联系非常紧密,尤其是虚拟内存的实现要靠位于硬盘上的分页文件来完成,硬盘性能直接影响着内存的工作。
尽管我们在视窗操作界面下可以同时打开多个操作窗口,但我们并不提倡这种做法,因为在Windows系统下,一个窗口就代表一个程序,同时打开多个窗口就意味着同时打开了多个程序。这样每个窗口可能分到的内存资源就变得非常有限,从而影响每个程序的打开或者运行速度,严重的可能会导致计算机死机。为此,我们应该把暂时不需用的窗口关闭掉,以便能节省内存提高程序的运行速度。
内存对系统的影响是很大的,如果能够合理地优化内存,将可大大增强系统的整体性能,于是各个玩家都设法对内存进行“软硬兼施”,以期把内存的全部潜能都发挥出来。在这里笔者提供一则用软件来优化内存的方法,该软件名叫vRamDir,它是一个专门针对Windows操作系统设计的虚拟内存文件系统驱动程序。在它的管理下,可以使用虚拟内存来取代惯用的虚拟磁盘,从而加速所有同硬盘有关的操作。由于所有的临时文件都存放在vRamDir中,不再放置到硬盘上,因此能够减少硬盘碎片化的机会。它可以在Windows 95/98操作系统环境下使用。可以到Download站点去下载vRamDir程序,下载对象是vram110tzip。
选购内存条时,应该根据需要以及计算机的实际配置来进行,以免造成资源和经济上的浪费。如今主流电脑的配置方案中,128M和256M是两个标准的配置。128M内存是入门级电脑用户的“够用”选择;而256M对于现在的电脑配置方案来说,应该属于那种“好用”的配置方案了,它已能满足现今包括Win2000在内的操作系统及发挥硬件性能的3D游戏的基本需求,加上现在内存便宜,所以256M的容量是最好的推荐。
在NT服务器中,如果我们发现系统存在内存不足时,就需要增加内存。那么,到底还需增加多大的内存容量呢?一般可通过以下的方法来确定:首先,查看服务器上分页文件(pagefilesys)的大小,如128MB;接下来打开性能监视器,选择报表方式,添加Paging File(分页文件)对象下的%Usage(使用率)计数器,并测试其值,如10367;最后计算%Usage×分页文件的大小,即128MB×10367%≈13MB,所以还需要增加13MB的物理内存。
当启动电脑、运行操作系统或应用软件的时候,常常会因为内存出现异常而导致操作失败。而在失败的原因中,很多是由于内存条与主板插槽接触不良、内存控制器出现故障而引起的。为了避免这种经常死机的现象,我们应该仔细检查内存条与插槽是否保持接触良好或更换内存条。
大家知道,计算机从内存读取数据的速度要比从磁盘中快得多,无奈内存的空间非常有限。为了提高计算机读取数据的速度,常常会把硬盘的一部分空间划出来作为额外内存使用。具体操作方法为:在控制面板中打开系统属性对话框,然后用鼠标单击此对话框中的“性能”标签,再单击“虚拟内存”按钮,复选“让Windows管理虚拟内存”,最后单击“确定”按钮就可以了。
;
0条评论