我们有一个大约 40GB 的中等大小的 SQL 数据库,并且即将将它移动到一个带有 server 2008 r2 x64 的新盒子
一个昂贵的承包商刚刚进来说我们需要 72gb 的内存,这样整个数据库就可以存在于内存中,我猜..,我觉得这很荒谬,但也许我错过了一些东西。
我想知道是否有一个“经验法则”可以暗示在 SQL 实例上使用大量 ram 。
编辑: DB 在任何时间都有多达 150 人点击它,用于运行预订系统。非常讨厌的旧数据库模式,许多表中的列数量惊人,大量的半无意义索引。.net 访问一些 sprocs,但也使用原始 sql 查询,以及 VisualDataFlex 使用的任何内容。
谢谢
纳特
我基本上不在办公室,但想检查一台电脑(具有 4GB 内存)是否有 4 个 1GB DIMM 或 2 个 2GB DIMM。
我指的是 Windows XP 系统。是否可以从系统信息或其他方式远程收集此信息?
我可以为我的主机分配内存的物理内存开销多少?
例子:
主机物理内存:10 GB
例如,将 2GB 的虚拟内存分配给 7 台机器总共 14GB 是否可以接受?我可以过量使用多少内存以确保膨胀和其他主机内存释放技术正常工作?
除了内核版本之外,我有两台机器在各方面(硬件、分发、应用程序工作负载、/proc/sys/vm 设置等)都相同。一个是 2.6.33,另一个是 3.1.0。对于给定的工作负载,2.6.33 机器的性能要好得多(两者都受 I/O 限制,主要是读取)。我注意到 3.1.0 机器上的缓存/活动/活动(文件)要小得多(超过 20GB),并且似乎没有被报告的任何其他指标考虑在内。3.1.0 机器上发生的读取次数更多这一事实也证实了这一点(由于最有可能用于页面缓存的内存较少)。我查看了每一个可调参数,/proc/buddyinfo 用于碎片,/proc/slabinfo 用于平板使用(使用了几 GB,但不是大约 20GB),但没有任何问题。任何想法将不胜感激。
这是来自运行 2.6.33 内核的机器,一切正常。
> cat /proc/meminfo
MemTotal: 74372248 kB
MemFree: 200492 kB
Buffers: 2976 kB
Cached: 65324256 kB
SwapCached: 0 kB
Active: 32949324 kB
Inactive: 32689844 kB
Active(anon): 287904 kB
Inactive(anon): 27272 kB
Active(file): 32661420 kB
Inactive(file): 32662572 kB
Unevictable: 19832 kB
Mlocked: 19832 kB
SwapTotal: 8393952 kB
SwapFree: 8393952 kB
Dirty: 8324 kB
Writeback: 0 kB
AnonPages: 332036 kB
Mapped: 12576 kB
Shmem: 304 …Run Code Online (Sandbox Code Playgroud) 我从某些服务器 RAM 收到 ecc 警告。这是一台很旧的机器,所以这些零件没有任何保修。
如果这是 Windows,我希望看到 BSOD。
我可以从 RH5.x 中得到什么?
我购买了具有 8GB 关键内存的 hp proliant ml310e G8。但是当我插入它时,系统初始化挂起 90%。我在另一篇文章(HP ProLiant ML310e Gen8 早期系统初始化挂起 90%)中读到您无法安装非 hp 内存。但真的没有办法吗?是不是可以跳过初始化?
我一年前买了一台二手的 HP ProLiant DL160 G6,里面配置了 48GB。我发现使用 cpu-z 进行检查并使用 speccy 进行双重检查,内存仅以 533Mhz 运行。我使用 HP 内存配置器检查了配置,并且正确填充了内存块以获得最佳性能。有 12 个 bank 填充了 4GB 的 micron 和 hynix 内存,都能够运行 1333mhz。我在这里有什么错?
C:\Users\Administrator>wmic Memorychip get manufacturer, partnumber, speed, seri
alnumber, devicelocator, banklabel
BankLabel DeviceLocator Manufacturer PartNumber SerialNumber Speed
BANK0 PROC 1 DIMM 3A Micron 36JSZF51272PZ1G4F C5DF65D7 1333
BANK1 PROC 1 DIMM 2D Micron 36JSZF51272PY1G4D 951565E0 1333
BANK3 PROC 1 DIMM 6B Micron 36JSZF51272PZ1G4F 3F3160D6 1333
BANK4 PROC 1 DIMM 5E Hyundai HMT151R7BFR4C-H9 E28A3014 1333
BANK6 PROC 1 …Run Code Online (Sandbox Code Playgroud) 我们即将安装一个内存密集型应用程序,并将为其购买服务器。服务器将至少有 4 个 CPU,具有多个内核。虽然该应用程序占用大量内存,但与我们交谈的顾问表示 32GB 应该足够了。他们还说,如果我添加更多的内存,服务器会因为连接所有内存的“额外布线”而变慢。我不打算将虚拟机放在硬件上,所以我不需要额外的内存来为虚拟机分区。但是我担心 32GB 可能还不够。
顾问断言比我需要的内存多会减慢机器速度是否正确?
我们正在运行一些 X64 Win Server 2012 网络服务器(所以 IIS 8)。
我们注意到盒子上的空闲内存一直处于 5-10% 的空闲状态。我们实际上在这些机器上运行了相当多的应用程序(13 个站点,超过 13 个应用程序池的 80 个应用程序)。每个站点的大部分代码都是重复的,因为它们对应于不同的数据库和物理站点,但应用程序是相同的。
我们非常确信我们在应用程序中存在内存泄漏,因为内存一直在增长,所以我们正在直接关注这一点,但我对 IIS 的内存分配和管理感到困惑。我想知道 IIS 8 或 x64 服务器是否有任何不同(我们最近刚搬到 x64)。
所以基本上我们的每个网络服务器都有 6GB 的内存,并且有 5-10% 的可用内存。我们确定泄漏的最高应用程序使用了高达 1.2GB 的内存。下一个大约是 800MB,其余的平均大约为 400-500MB(所有这些值都是私有内存,如任务管理器中所见)正如我所说,代码是重复的,所以如果一个站点存在泄漏,它将在所有站点中他们,只是不同的物理位置可以打开或关闭某些功能,这解释了巨大的差异。
当我们解决问题时,我们决定只增加内存,这样我们就不会遇到问题。所以昨晚我关闭了每台服务器并将内存翻倍至 12GB。今天早上,3 台服务器的内存使用率分别为 77%、80% 和 82%。所有进程的内存使用量都增加了 1.5-2 倍。
所以现在我很困惑。真的是内存泄漏吗?或者是否有某种内存预分配?或者它永远不会释放内存,除非另一个进程请求它一个 SQL Server 或什么?
如果当内存翻倍时它们突然变得如此巨大,那么将内存级别保持在 6GB 的原因是什么?是否设置了阈值?IIS/ASP 是否只是在内存不足或什么的情况下才进行垃圾收集?
任何答案表示赞赏。
这似乎是一个愚蠢的问题,但很多年前我不知何故把它记在我的脑海里,也许是通过阅读一篇文章或与“知情”的人交谈,计算机不应该以“奇数”的数量运行ram,例如 3、5、7 等……这有什么道理吗?
我有一个 vmware 环境,里面有很多服务器。我想通过并更改 ram 的数量以减少整体 ram 使用量,并且在许多情况下,我想为服务器提供 3gb 的 ram,而不是 4 或 2。
memory ×10
hp ×2
hp-proliant ×2
vmware-esxi ×2
hardware ×1
iis ×1
intel ×1
linux ×1
memory-leak ×1
performance ×1
redhat ×1
server-setup ×1
windows ×1