在此用例中,最小内存和最大内存的正确设置是什么?
该服务器具有8GB内存,双Intel Xeon处理器,运行Windows Server 2008 R2 / SQL Server 2008 Standard Edition。它运行着多个数据库,大小从30GB到5GB不等。
最初,内存使用情况已设置为默认设置(最小= 0,最大= 2,147,483,647)。在这些设置上,大多数内存使用量已由sqlservr.exe占用,并且最终将需要每天或每两天重新启动服务器一次。它最初会正常运行,但一天之内就会在一些简单的操作(例如,使用主键查找记录)上超时。
我更改了最小值= 4,096和最大值= 6,144。这样只会占用1.4GB的内存。但是,现在所有四个cpus始终以50-60%cpu的使用率运行。尽管服务器要稳定得多,但执行任务所需的时间大约要长1/3。
购买更多的RAM,并将最大值保留为默认值。
—
Remus Rusanu
@RemusRusanu我假设你的意思分钟到默认!
—
Kin Shah
当人们忘记实践时,我们会遇到非常相似的用例和相似的问题(由于SQL抓住了所有操作系统,导致操作系统没有记忆)。我们的做法是使用0(最小值),一半可用(最大值)。
—
Paul
@kin no,我的意思是max。我应该说将最小值和最大值都保留为默认值,但是我从来不明白为什么有人会改变最小值……
—
Remus Rusanu 2013年
@RemusRusanu我认为这是一个错字,因为您拥有大量的内部知识+出色的答案。我不同意将“ 最大内存” 保留为默认值。
—
Kin Shah