我有一些32位的Win2K3服务器运行的应用程序现在失败,然后显然是由于堆碎片。 (进程虚拟字节增长,私人字节不)我没有访问该应用程序的源代码或构build过程。 我修改了其中一台服务器上的boot.ini文件,以包含/userva=2560 ,这是正常操作模式和/3GB选项之间的一半。 通常需要数周时间才能到达失败点,但是我想马上看看这个实际上是否有效。 据我所知,这个选项限制内核到剩余的地址空间(1536MB而不是2048),但是不一定给应用程序额外的地址空间,这取决于应用程序的PE头中的标志。 如何确定O / S是否允许正在运行的特定应用程序访问2GB以上的地址空间? 此外,监视系统以确保内核不会饿死地址空间的最佳方法是什么?更一般地,我应该如何去寻找此设置的最佳值?
我已被要求在IIS6中设置Maximum virtual memory (in megabytes)设置,并且已启用默认值500 MB。 从那时起,应用程序池的回收问题出现了一些问题。 那么,它一点也不飘忽, 每60秒钟一次 。 监视进程显示虚拟内存远低于500 MB。 一个简单的testing就是打开网站启动进程(这将虚拟内存设置为30 MB左右),然后等待,正好60秒,显示当前进程被回收,并开始一个新的进程。 我可以小幅增加这个数字,在这个过程中的生存时间似乎要长一点。 大约750 MB,症状完全消失(完全取消检查)。 Maximum used memory也被检查并设置为默认的192 MB。 如果这是一个错误,我不能find任何文件。 也许我错过了一些显而易见的机制,或者我只是很愚蠢。 无论如何,我不能停下来“提高数字,你不会得到错误”。 我必须知道为什么。
可能重复: 交换分区应该有多大? 在当天,经验法则是“2.5 x RAM量”=您需要的虚拟内存量。 所以如果你有500MB的RAM,你需要1.25GB的虚拟机的可用硬盘空间。 这个一般的经验法则是否仍然适用于我们有4GB以上的内存?
我有一个Ubuntu 9.10 64位服务器似乎用尽所有可用的内存。 根据我的munin图表,几乎所有用完的内存都在swap cache,cache和slab cache中。 (我认为这意味着虚拟内存caching,我是否正确地承担这一点?) 一旦内存使用率接近100%,一些(尽pipe不是全部)系统服务(如SSH)变得缓慢和不响应。 重新启动系统后,性能和内存使用情况一度正常。 一些有趣的花絮: 系统运行Apache 2,MySQL,Munin和sshd。 内存使用率峰值每天晚上在同一时间发生(下午10点)。 对于任何用户来说,crontab中都没有任何内容,并且/etc/cron.d/*中的任何内容都与众不同,更不用说在晚上10点发生的事情了。 我的问题是,我怎么知道什么是造成内存吮吸? 我已经尝试了通常的工具(例如ps,top等),但我似乎无法find任何不寻常的东西。 有任何想法吗? 提前致谢!
我已经在openvz容器上运行Ubuntu 10.04LTS 64位,并且从源代码编译了Cherokee 1.0.8。 切诺基工作者的虚拟内存使用量大约为430MB,即使在从高级 – > I / Ocaching – >未启用的情况下禁用了I / Ocaching之后。 这个问题特别是openvz? 因为许多人报告已通过禁用iocaching成功减less了virt memory的使用。 htop输出: http : //imgur.com/z5JEL.jpg (新手不允许张贴图片。) 提前致谢。 nidheeshdas
服务器是Windows Server 2003 SP2(32位),运行SQL Server 2005 SP3(32位)。 我相信服务器有4 GB的物理内存。 这台机器在上个星期坠毁了两次,是一台生产机器。 据我所知,它已经启用了最大内存限制6041 MB的AWE。 我从来没有听说过AWE,但我认为这有点可疑,怀疑是机器崩溃的原因。 (仅供参考,AWE已启用,并且boot.ini文件中存在/ 3GB开关)。 我今天花了一些时间来研究SQL Server的内存架构,我不认为我很把握AWE的概念。 所以,地址Windows扩展(AWE)是相对于物理内存,而不是虚拟内存(分页)。 如果机器只有4GB的物理内存,如果没有触及分页文件,又怎么能使用? 或者,服务器没有正确应用AWE? 也就是说,我有8 GB的RAM,但Windows 2003 32位用户空间只能访问2 GB(3GB的开关)。 但是启用了AWE(并检查了内存中的页面locking)后,除了4GB的Windows(3GB Windows用户空间+ 1GB Windows内核空间)之外,我还可以为SQL Server 2005(32位)使用额外的4GB RAM,如果和只有如果我有物理RAM来支持它。 我真的很困惑,需要一些指导这个问题。 我试图确定我是否了解AWE,它是如何工作的,以及是否导致机器崩溃。 感谢您的任何帮助。
在Solaris上,/ tmp文件系统是types为“tmpfs”的文件系统。 它是通过虚拟内存池中分配的空间在内核中实现的。 这意味着分配与机器上可用的RAM和交换空间交互。 如果我有一个大小适中的交换分区的大内存机器(大量的RAM),我的/ tmp空间的大小是受内存,交换空间,还是两者总和的限制? “df -h / tmp”显示的数字似乎并不反映可用RAM,只有交换空间。
有时候我发现使用了我的小型Debian机器的100%的RAM,但是我不知道如何find这个漏洞: 顶部显示所有的内存都被使用了,但是我找不到任何在进程中占用这个内存的进程列表(进程按字段'n' – %MEMsorting): top – 12:50:41 up 8 days, 1:13, 1 user, load average: 0.06, 0.15, 1.63 Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1016252k total, 996428k used, 19824k free, 684k buffers Swap: 1983480k total, 105052k used, 1878428k free, 16884k cached […]
我们有一个288GB的RAM的Windows Server 2008 R2框。 系统已经创build了大约相同大小的页面文件。 但是,当我尝试将文件移动到作为3TB GPT磁盘安装的SAN驱动器时,这是预期的,该工具看不到所有可用空间。 除了虚拟内存GUI工具之外,Windows会在每个位置报告正确的可用空间。 有人可以告诉我为什么和/或如何解决它,所以我可以把页面文件在这个3TB的驱动器? 当驱动器超过2.5TB空闲时,该工具报告203,965 MB空闲。
我正在看下面这个系统,确保我们有足够的内存来执行日常的任务,最近我们一直在遇到一个瓶颈,因为只有一个2GB的页面文件,我已经把它改为build议的1.5倍物理内存它看起来不错。 然而,CPU使用率如下所示,这是下降到I / O的增加,PF的使用似乎是好的,到目前为止,一旦物理RAM限制达到此服务器降级。