目前,我正在运行一个具有4个专用memcached服务器的生产环境,每个服务器都有48Gb的RAM(专用于memcache的42个)。 目前他们做得很好,但是stream量和内容都在增长,明年也一定会增长。 你对进一步扩展memcached的策略有什么想法? 你到现在为止做了什么: 你是否增加更多的内存,直到他们的全部容量 – 有效地加倍相同数量的盒子上的caching池? 或者是通过添加更多的相同的盒子和相同数量的RAM来水平缩放。 目前的机器肯定可以处理更多的内存,因为它们的CPU负载很低,唯一的瓶颈就是内存,但是我想知道分配caching不是一个更好的策略吗,使事情变得更加冗余,并且尽量减less对caching的影响丢失一个盒子(丢失48Gb的caching而不是96Gb)。 你将如何处理这个决定?
我们有一台Windows Server 2008 R2(64位)8GB服务器,根据Sysinternals RAMMap ,使用AWE分配2GB内存。 据我所知,这意味着这些页面停留在物理内存中,不会被推出。 这会导致其他应用程序被推出物理内存。 在RAMMap中的“物理页面”选项卡上,所有AWE页面的“处理”列都是空的。 我们在该框上运行SQL Server,但是(通过SQL Server Management Studio,在服务器属性 – >内存下,在服务器内存选项下),它表示configuration为不使用AWE。 但是,当停止SQL Server时,AWE页面突然消失了。 所以它真的是罪魁祸首。 所以我有三个问题: 为什么RAMMap不知道/显示SQL Server进程负责该AWE内存? 为什么SQL Server Management Studio会说AWE内存不被使用? 我们如何使configurationSQL Server真的不使用AWE内存?
我收到有关虚拟化服务器内存使用情况的一些冲突信息。 最令人震惊的消息是: 请注意,服务器只有4GB的RAM分配,即使提交显示12GB。 另外,如果我运行ps aux | grep httpd ps aux | grep httpd我得到以下内容: root 1566 0.1 9.5 580392 375540 ? Ss Jun18 96:15 /usr/local/apache/bin/httpd -k start -DSSL root 4212 0.0 9.4 580388 371948 ? S 08:01 0:00 /usr/local/apache/bin/httpd -k start -DSSL nobody 7674 0.6 9.5 580392 373600 ? S 08:26 0:02 /usr/local/apache/bin/httpd -k start -DSSL […]
说我有一个使用200MB内存的进程,它fork()s: python -c "import os; data='x'*200000000; os.fork(); raw_input()" 像“顶”这样的程序将显示每个使用200MB的进程,而SHRd内存很less,所以看起来好像进程总共使用了400MB。 但是,由于fork()为进程的内存页面实现了写入时拷贝(COW),实际上这些进程总共只用了200MB。 为什么不顶部显示内存的一部分是COW? 有没有办法让它这样做? 还是有另一个我可以使用的命令? 注意:在OSX上的“顶部”似乎有一个RSHRD列,做我所期望的。 我的问题是针对Linux。
是否可以在HP Proliant DL385 g5中使用非ECC内存,服务器是testing系统,所以错误检查不太重要
我们每天重新启动一个Apache服务器,因为内存使用量达到了极限。 虽然有价值看到这个服务器故障的答案 ,我不认为在apacheconfiguration降低MaxClients是解决未知的根问题。 下面的apache进程在MB中出现exception大的时间。 这是否意味着有内存泄漏。 这是否意味着我们应该降低MaxRequestsPerChild设置? 见http://www.devside.net/articles/apache-performance-tuning 你能从下面的数据中理解吗? 下面是什么的摘录 $top与M 收益: 20839 www-data 20 0 1008m 359m 22m S 4 4.8 1:52.61 apache2 20844 www-data 20 0 1008m 358m 22m S 1 4.8 1:51.85 apache2 20842 www-data 20 0 1008m 356m 22m S 1 4.8 1:54.60 apache2 20845 www-data 20 0 944m 353m 22m S […]
我有一个Ubuntu系统,我有一个定期运行的脚本。 我需要限制这个脚本可以使用的最大内存量。 AFAIK ulimit是这样做的命令,但我不能得到它的工作。 例如,我有以下脚本: #! /bin/bash ulimit -m 1024 X="x" seq 100 | while read LINE ; do X="$X$X" done 这应该使$X变大,这个例子就是我想要限制的东西。 然而ulimit调用似乎不起作用。 我可以运行脚本OK,它不会死, top显示脚本得到大量的内存。 我究竟做错了什么? 我怎样才能强制这个脚本永远不会超过一定量的内存?
我正在为一个初创公司浏览一些低端服务器,而我对于不同的内存types有点困惑。 ECC的优势非常明显 – 单比特纠错。 当涉及到注册的内存,它似乎更加模糊,特别是在支持注册和无缓冲内存的系统。 谷歌的search主要发现维基百科文章的副本,其中指出,已注册的内存芯片“…减less内存控制器的电气负载,并允许单个系统保持稳定,更多的内存模块比其他方式”。 但是我找不到任何量化的。 我想知道的是: 在软错误率方面,已注册的内存比未缓冲的内存有所提高,还是完全取决于所支持的最大模块数量? 如果是的话,在什么时候(模块数量或GB内存),这些改进开始变得明显? 有关具体示例,“HP ProLiant DL 120 G6服务器手册”指出,支持的最大内存configuration是16 GB无缓冲(4x4GB)或12 GB注册(6x2GB)。 在这种情况下,如果可靠性差异可以忽略不计,我宁愿拥有额外的4GB内存。
情况 我有一个虚拟私人服务器(在Dreamhost上),我托pipe我的网站的根访问权限。 我受限于内存(目前为500 MB),所以如果一个站点(本网站的脚本)需要太多的内存,我的整个VPS将被closures并重新启动,所有其他站点都将停止运行! 我的平均使用量大约是100 MB,所以远远没有达到极限,不过某种脚本仍然会这样做:请求太多内存,然后Dreamhost的看门狗杀死我的VPS。 这一切都发生在毫秒(所以他们说),我不能轻易地找出发生了什么。 题 我怎样才能找出脚本是什么原因造成的? Dreamhost并没有对此有帮助,我不完全是最好的Linux黑客:)。 一些更多的细节 我所有的站点都在Apache上,而且都在PHP中。
Linux机器上的内存使用量有很多不同的措施,但是如何确定一台服务器是否需要更多的内存,是一个很好的启发式/度量指标。 一些想法: 查看MemTotal – Active – 从/ proc / meminfo中作为“有线”内存的一种测量方法 查看ps中所有进程的RSS值的总和 查看/ proc / meminfo中的Committed_AS