我们的一个SQL服务器,运行稳定一段时间(几年),最近一直在抛出不足的内存错误。 从应用程序事件日志中,我们看到: 事件ID:701 说明:没有足够的系统内存来运行此查询。 我们pipe理这个服务器的团队主要由开发人员组成,这些开发人员在系统pipe理职责上倍增。 但是,我们的主要专长是发展。 这就是说,我们对如何解决这个问题感到茫然。 我们一直在search论坛,什么也没有find任何匹配的东西 所以,这里有一些更多的细节来帮助解决问题: 我们的最servlets器内存设置为0。 我们的最大服务器内存设置为2000。 总物理内存为3,325.85 MB(来自sysinfo)。 总虚拟内存为7.10 GB(来自sysinfo)。 我们没有使用AWE来分配内存,但现在我们来看看它是否有所作为。 此错误是由备份事务日志的作业引发的,未运行查询。 我们有很多链接的服务器。 另一方面,RDBMS的types是SQL Server(2005和2000),Oracle 10g和OSI PI系统。 这是间歇性的。 我们似乎无法将任何时间或事件与错误关联起来。 当然,重新启动似乎会让它消失一段时间,由于错误信息的性质,这是有意义的。 此服务器作为应用程序服务器(几个Windows服务)和Web服务器以及数据库服务器组成三元组。 编辑: 我们在SP3上。 我们发现的大部分post都是SP1以前的版本,不适用于我们。 SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition') 回报 9.00.4035.00 SP3标准版
我们有一台运行SQL Server 2005 64位的强大的Windows 2008 x64服务器(4 x 4核心CPU,32GB RAM)。 我们有一个小的(6GB)但非常重要的数据库,访问起来有点慢,直到页面被caching到内存中(这个用法是非常随机的I / O,所以给定的页面在内存中的可能性非常低,最终用户抱怨最初的缓慢)。 磁盘速度够快(本地15K SAS),但我猜应用程序有点笨拙(这是一个COTS解决scheme),所以我想知道是否有一种方法来强制在SQL Server 2005中的内存中的数据库(2008年不支持由供应商,所以我们不应该升级到这一点),以帮助避免初始caching填充布鲁斯? 我目前的方法是,我从脚本中的每个表运行一个SELECT *来获取内存中的数据页,但是一些对象(索引,全文search等)没有被这个方法caching(并修改脚本来查询索引和编写适当的WHERE子句来caching是熬海复杂的)。
我有一个新的服务器,并计划升级微小的2 GB的内存最高16 GB。 (理论上8GB是有限制的,但实际上16GB已经显示出来了。) 一些指导build议ECC内存不是那么重要,但我不确定我是否相信这一点。 我已经安装了FreeNAS,并计划在我的新硬盘驱动器到来时立即添加ZFS卷。 对于基于ZFS的NAS来说,吝啬一点,并获得非ECC内存是不是愚蠢? 如果有必要的话,我会咬死子弹,但如果只是偏执狂,那么我可能会跳过它。 是否有任何原因ZFS或FeeeNAS 明确要求ECC内存,或者在使用非ECC内存的系统上运行时尤其受到影响?
我在Debian上使用了SpamAssassin(Pyzor,AWL和Bayes被禁用,并启用sa-compile的默认configuration),并且每个spamdsubprocess在32位上消耗大约100到150MB的内存(大约50MB的实内存)在64位服务器上大约是双倍(逻辑上足够)。 通常有两个subprocess,但在繁忙时间可能有五个(最大)运行。 200到600MB的ISTM是这个任务的很多内存。 我想继续使用SA作为我的过滤结构的一部分,但要certificate这么多的内存正变得困难。 有没有办法减less每个subprocess使用的内存量? (或者,也可以让一个单独的subprocess如此之快,以至于我可以将最大的subprocess设置为2)。 我愿意考虑任何选项,包括将会或可能导致准确度降低的选项。 我已经阅读了SA wiki上的“Out of Memory Problems”页面 。 没有什么用处。 大于5 MB的消息不会使用SA进行扫描。
(我也发布了这个在technet上,但我没有想法) 我已经从Windows Server 2008 R2 Standard升级到了Enterprise,以便使用更多的RAM。 服务器以前有32GB的RAM。 使用DISM从标准版升级到企业版似乎还行,所以我断电并安装了RAM。 这是戴尔Poweredge T710,我从32GB到72GB。 BIOS识别RAM,但我需要从“高级ECC”更改为“优化器”模式才能使用它。 重新启动后,Windows可以看到RAM,但在系统面板上将显示: 安装的内存(RAM):72.0 GB(可用4.00 GB) 在资源监视器中,RAM的其余部分显示为硬件保留。 我已经尝试了各种RAMconfiguration,包括恢复到与升级之前相同的芯片和相同的configuration,但总是只有4.00 GB显示为可用。 在这些论坛上的一些线程之后,我进入了msconfig并设置了“手动”的最大内存,但是这并不能解决问题。 BIOS似乎没有任何东西看起来像内存重新映射,这是另一个提出的build议。 如何使这个RAM可用于Windows? 它在升级之前是可用的,因为我可以使用服务器必须启动的全部32GB RAM。 截图(这是恢复到原来的RAMconfiguration后) 我不知道它是否相关,但我的远程桌面configuration也消失了: (这个对话框的下半部分应该允许我configuration远程桌面,它在升级之前工作,但现在不是)。 UPDATE 我find了一个临时的答案,但它给了我另一个问题。 以下是我刚刚在technet上发布的内容 ,我也问过这个问题: 好的,我已经暂时解决了这个问题 – 这不是BIOS – 但现在我不知道如何修复它。 线索来自这个线索 ,C克拉克似乎做了和我一样的事情: “我们使用DSIM实用程序和MS网站上的通用KMS密钥将这些从”标准“更新到”企业“,然后将许可证密钥从GUI更改为企业的有效许可证密钥。重新启动RDP不起作用。“ “刚才我回到了”通用“的KMS密钥,一切正常…” 后来他说: “然后我用另一个有效的MAK键,一切仍然有效。如果我使用另一个(现在正在一个完全重build的服务器上工作),它不 – 也说4GB可用48GB内存….? ..” …和我完全一样的症状; 只有4GB的可用RAM,没有RDP。 我刚刚更改了服务器上的产品密钥,以便为企业使用通用的KMS密钥 – 而且都很好。 我有RDP,我有72GB内存。 但是 – 我现在使用的是我没有许可证的密钥。 这个服务器纯粹是为了开发和testing(现在我们需要同时拥有20个虚拟机,因此需要超过32GB的额外RAM,因此也就是Enterprise)。 最初,服务器附带了2008 […]
除了明显的价格差异,我不太了解两者之间的差异。 每个提供什么比另一个?
我想testing定制电路板上的无ECC存储芯片的完整性和全局性能 是否有一些工具在Linux下运行,所以我可以同时监视系统和全局温度? 一般来说,是否有一些没有ECC的特定testing? 编辑1: 我已经知道如何监测温度(我使用了一个特殊的平台function/sys/devices/platform/……../temp1_input)。 目前 : wazoox:它的作品,但我要编码我自己的testing Jason Huntley: ramspeed:不能在arm上工作 stream基准:它的工作原理和速度非常快,所以我会看看它是否准确和完整 memtest:我会稍后再试,因为它不能直接从linux运行 Fedora的压力:我会再试一次,现在安装fedora是太麻烦了 我发现这个分布: http : //www.stresslinux.org/sl/ 我会继续检查直接在Linux下运行的工具,而不会有太大的依赖关系,在尝试一下诸如stresslinux,memtest,Fedora压力之类的解决scheme之后。 谢谢你的回答,我会继续调查
是否有一个脚本将显示内存使用情况作为一个图表,例如作为一个饼图,每个进程是一个单独的切片? 我不是在寻找像Munin这样的内存使用情况,而是在一个时间点显示每个进程的内存使用情况。 为了使我的请求更加模糊,这是一个无头的服务器(所以没有X应用程序)。 最简单的方法是编写一个PNG文件,或者可能是一个HTML文件(它可以使用Javascript来允许过程的过滤,在graphicstypes之间转换等等)
这是一个Ubuntu 9.10服务器。 另外如何查看每个进程的内存使用情况? 谢谢
我是一个非常大的noob当涉及到设置MySQL的性能。 老实说,我并不担心微调会挤出MySQL的每一个performance,但我知道最重要的事情是提供一些最好的结果是正确设置caching/caching。 我试图通过只使用innodb作为存储引擎来保持简单。 而且我有一个专用的服务器的MySQL。 它有8GB的RAM,我应该如何分配,以最大限度地提高性能? 我希望能够将我的整个数据库放到内存中以获得最佳性能。 数据库大概是5GB。 这可能吗? 我应该分配多less内存给查询caching? innodb缓冲池多less钱? 电脑的其余部分(即非MySQL相关的进程)多less钱? 等等。 由于我没有使用MyISAM,我真的不需要把正确的密钥caching中的大量内存?