我有一个特定的内存密集型程序,每次运行后都会使整个系统运行数个小时 – Windows NT 6.0 / 6.1内核是否有可调参数来鼓励进程的工作集更快地被重新分页到内存中? 有问题的程序将一个1.5GB的文件读入一个1.5GB的malloc缓冲区,稍微处理一下,然后退出。 在运行时,所有其他程序按预期分页到磁盘。 程序结束时,程序不会再回送。 即使我等了几个小时,也不会被带回来。 这意味着,当我出现并试图使用我的电脑时,它慢慢地慢了很多年,而我慢慢地将每个过程重新分页。 当进程退出时出现,任务pipe理器显示的“caching”内存数量非常大,“空闲”非常低。 每个正在运行的进程只使用1或2 MB的“工作集”,而他们有正常数量的“提交大小”,表示他们的大部分页面在磁盘上。 对我来说,这似乎是Windows正在使用RAM的磁盘caching,以保持我的大1.5GB文件刚刚incase我想重新读取它(我不),而不是取回我的正常进程。 有没有办法强制这个平衡的过程,远离磁盘caching?
我有一个IBM服务器上有16GB RAM。 我正在使用Windows 2008服务器R2。 我想创build一个Hyper-V for WebServer的虚拟PC(用于Intranet)。 我应该使用哪个操作系统? 我需要分配多lessRAM和硬盘空间? 谢谢。
最近转移到新的服务器与CentOS 5.4和64位,而不是我们的旧的32位。 现在有了双处理器和更高的内存。 但是我意识到,apache一直在大量占用内存,有时会导致系统交换。 目前的设置在前面有Nginx 1.0.8来提供静态内容,Apache 2.2提供dynamic内容(PHP)。 我也安装了APC。 什么可能导致这种内存使用率高峰? 我尝试调整configuration文件的Apache,但它会工作,如果我把某些指令到一个荒谬的低数字。 在旧机器上之前,我可以使用默认设置,对于所有的apache进程,内存使用量不超过260MB: <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 </IfModule> 但现在新机器正在使用这个高内存使用率,它可以得到高达600MB +: <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 20 MaxRequestsPerChild 500 </IfModule> APC设置如下: extension = apc.so apc.enabled=1 apc.shm_segments=1 apc.optimization=0 apc.shm_size=64M apc.ttl=0 apc.user_ttl=7200 apc.num_files_hint=1024 apc.mmap_file_mask=/tmp/apc.XXXXXX apc.enable_cli=1 apc.cache_by_default=1 […]
上周五(10/7/2011),我们开始让httpd.worker进程在1-2分钟内从典型的10-15M内存增长到10G +(千兆字节)。 这显然会导致服务器停止,因为它开始交换等。我们必须重新启动服务器,以使其再次运行。 如果我们赶上它,我们可以杀死冒犯的httpd.worker,一切都很好。 系统 RHEL 5.5 Apache httpd-2.2.3-45.el5_6.2.x86_64.rpm(修补以防止最近的字节范围过滤漏洞) 使用Apache MPM worker(不是prefork) mod_jk 1.2.28 mod_rewrite的 OpenSSL(最新红帽版) Tomcat / JBoss Web 2.1(JBoss 5.1.0) 专用服务器(非共享),每个12演出的RAM 症状 在正常的负载下,突然之间,一个httpd.worker进程将在保留的内存中从10M增长到几个Gig。 不得不杀掉这个进程,否则服务器就会停下来 偶尔会在同一时间发生多个httpd.worker进程 一旦违规程序被杀害,一切都是正常的(几分钟之内)。 一直在发生。 自上周五以来每隔8-12小时,没有明确的格局。 请求stream量没有达到峰值 access_log和error_log中没有奇怪的stream量/错误 补充笔记 我们的正常负载是每个服务器5-10个请求/秒,而不是疯狂的。 我们将MaxRequestsPerChild设置为250(开始之后),工人正在适当的循环。 意味着这个问题是来自一个或一个小的请求 过去两周我们没有做任何应用/系统configuration的改变。 由于这不是一个持续的问题(在几分钟内消失),它不像一个 这听起来像字节范围过滤漏洞,但我们已经修补和testing( https://issues.apache.org/bugzilla/show_bug.cgi?id=51714 ) 我已经读过服务器故障(和其他地方)的几篇文章,但没有发现任何描述一个工作过程失控与内存 问题 什么会导致一个单独的httpd.worker进程的内存失控这样的? 甚至超出典型数量(我们的configuration10m-15m)? 任何解决这个问题的build议? 我们正在观察顶端,服务器状态,jkstatus,使用cacti进行监视,安装了monit,并且正在进行mod_jk日志logging。 Apache / mod_jk / Tomcat(JbossWeb)configuration 从httpd.conf … <IfModule […]
目前我的Linux CentOS专用服务器出现非常严重的问题。 由于某些特殊的原因,我所有的内存都被apache占用,结果是我的qmail进程崩溃了。 首先,为什么qmail会崩溃,如果Apache正在吃所有的内存? 如何才能find造成这个问题的原因? Media Temple的支持团队正在帮助我,但这不在他们的支持范围之内,所以我不确定他们还能帮助我什么。 我真的很困惑,因为它似乎没有合理的解释为什么内存被用完。 我的网站stream量比平时还要多 给你一些有关情况的信息: 似乎所有这些都是在我更新Plesk和我的容器时开始的。 但是,我不能确定这一点,很可能我在同一天做了其他的事情 当我看着beancounters时,它说tcpsndbuf中有一个547225失败。 我不知道这是什么意思,但这是我相信这个问题是与Apache的原因。 我可以研究这个进一步吗? 虽然可能不相关,几个星期前我用Apache Benchmarking工具来模拟1000个访问我的网站之一。 几个星期前,我还跟随媒体圣殿“ 更好的步骤 ”来安装Monit,Munin,Plesk Health Monitor以及Apache和MySQL的一般调整。 这些步骤无疑对服务器有着相反的影响,从那时起,我的内存消耗已经高得多。 我试图恢复到以前的conf文件,但这并没有什么区别。 我已经花了很多时间试图达到这个目标,但是我认为这个问题对我来说有点过分了。 有任何机构有任何build议吗? UPDATE 我忘了提到,我一次又一次,我的CPU峰值。 不知道这是否相关,但认为我会包括它。
我有一个运行SQL 2008R2 Web 64位的Windows 2008R2 Web服务器。 服务器安装了8GB的内存。 从SSMS看这个: 在SSMSpipe理界面中,我无法configuration服务器使用超过2GB的内存。 我已经考虑过发布一个sp_configure ,看看会发生什么,但是我觉得这个界面并不想让我分配2GB以上的内存,所以我没有那么做。 我可以在框中input一个更大的数字,但是可以回到那里显示的内容。 这台服务器是一个小型共享托pipe服务器; 我想给SQL Server 4Gigs,看看如何看起来; 也许给更多。 有任何想法吗? 我应该继续做一个sp_configure并忽略愚蠢的GUI?
我不得不安装CloudLinux,这样我可以稍微控制CPU通讯,更重要的是网站使用的并发连接。 但是,正如你所看到的,服务器负载是很高的,这就是为什么一些网站需要10秒。 加载! 服务器负载22.46(8 CPU)(!) 使用的内存36.32%(8,146,632中的2,959,188)(ok) 交换使用0.01%(2,104,504中的132)(ok) 服务器: 8 x Intel(R)Xeon(R)CPU E31230 @ 3.20GHz 内存:8143680k / 9437184k可用(2621k内核代码,234872k保留,1403k数据,244k初始化) Linux的 昨天:共有214,514页面浏览量(Awstat) 现在我的问题是:我可以将某些CPU使用情况转移到RAM中吗? 或者我还可以做些什么来使网站运行更快(网站是dynamic的 – 所以SQL很重) 谢谢 top – 06:10:14 up 29 days, 20:37, 1 user, load average: 11.16, 13.19, 12.81 Tasks: 526 total, 1 running, 524 sleeping, 0 stopped, 1 zombie Cpu(s): 42.9%us, 21.4%sy, 0.0%ni, 33.7%id, 1.9%wa, […]
我想知道这是否可能,如果有这个概念的实现: 想象一下,我有一个1 GB RAM磁盘,一个1 TB内部硬盘驱动器和一个10 TB的NAS。 是否有可能有一个具有10 TB空间(存储在NAS)的虚拟驱动器,但保留了我的内部HD上最常访问的文件的本地副本,以及我目前在RAM上使用的另一个文件副本磁盘? 这与虚拟内存pipe理的原理相同,但相反:虚拟内存将未使用的内存部分复制到慢速设备,而此解决scheme会将正在使用的内存部分复制到快速设备。 我知道有些企业SAN通过混合使用SSD和HD来实现这一目标,但我认为这可以通过软件完成。
我想知道为什么我的服务器有这么多免费的Apache插槽打开。 服务器只有一些繁忙和空闲的插槽。 请查看所附图片,了解服务器使用的stream程量与我们的stream量。 问题 我应该改变我的configuration,以便有更less的空闲插槽? 如果我减less空闲插槽的数量,它会减less服务器正在使用的内存量? 统计 Apache进程: http : //i.imgur.com/cMthh.png Google Analytics(分析): http : //i.imgur.com/yl8Ui.png
我在OpenVZ下有一些相当闲置的VPS,虽然我通常没有达到有保证的RAM,但是让我感到困扰的是,我的VPS“认为”它拥有比实际更多的RAM。 毕竟,超过保证的内存可能会导致死亡的进程,而另一方面,Linux 尽可能多地占用内存是非常自然的! (鉴于这些竞争的力量,令人惊讶的托pipe服务提供商不提供广泛的不可破解选项。) 鉴于这种情况下,我宁愿没有偶尔的可破解内存,而是让Linux“看到”只有保证的内存。 我想我可以打开一个支持票,看看会发生什么,但我想知道是否有什么我可以做到这一点。 谢谢!