我有一个EC2实例运行node.js服务器(基于Express)。 在新的环境中部署后,我的服务几乎立即崩溃, spawn ENOMEM像这样的spawn ENOMEM错误: 服务器日志不表示不正常的活动。 来自其他环境的差异仅仅是configurationstring,如DB主机名。 我已经开始在服务器上的所有可能的监控,但没有显示 没有更高的进程或机器的内存,CPU / RAM使用率没有高峰。 为了确定这不是一个内存问题,我尝试将实例从t2.micro放大到t2.large(2GB-> 8GB RAM),尽pipe在不同的环境中对微处理器执行相同的过程。 尽pipe如此,这个过程还是以几分钟的时间崩溃了。 我坚信这不是内存泄漏,但可能是某种内存分配问题。 有没有人遇到这样的问题? 任何forms的帮助表示赞赏。
所以我相信这可能以前曾被问过,但我想确保我得到正确的信息。 我正在运行一个带有Debian 5和Apache 2.2的360 Linode盒子。 我自己编译了一切(没有apt-get)。 每隔一段时间(每隔几个星期一次),我的服务器就会随机“崩溃”:它可能会达到100%的CPU(真的是400%,但你知道我的意思)并交给我们。 你不能SSH进来看看是什么问题,服务器本身停止接受连接。 解决这个问题的唯一方法就是重启机器。 最近发生的时间是24小时,12小时,10小时,8小时,6小时,4小时。最后,我在两天前把它锁起来了。 我注意到磁盘IO被抬高了,几乎没有任何内存了! 另外,有一个运行在3-4%RAM的httpd进程。 而通过船载,我的意思是当我做了ps -ef时,他们占据了整个屏幕。 如果你向上滚动,他们占用了我的SSH客户端的整个缓冲区。 所以我对代码做了一些调整,认为某些东西没有正确closures。 我在我的PHP中修正了内存问题,我开启了更细化的错误日志并修复了一堆错误,这在一定程度上似乎有所帮助。 大约每24小时发生一次事故。 我确信这是因为内存太less而造成的,我收到的命中量正在把我的服务器踢进交换。 由于需要交换的请求太多,磁盘IO通过屋顶射击,导致我的CPU使用率通过屋顶射击,导致我的服务器locking。 我试图解决这个问题:我做了一些研究,发现我应该使用prefork。 我在我的configuration环顾四周,找不到任何ServerLimit或MaxClients或类似的东西,所以我添加了一些“默认”值,我的服务器拒绝接受/任何/传入的连接。 实际上,prefork值会阻塞所有入站httpstream量(可能是因为我的服务器无法处理prefork?idk)。 我看到它的方式,我的服务器“曾经做”是好的,除了所有的这些Apache进程不断挂断和内存泄漏。 有没有办法在Apache进程上设置超时时间,或者对其中有多less个进行限制? 最好的解决scheme是使用prefork似乎很愚蠢; 我必须想象有更好的方法。 多谢你们
我们有一个VPS服务器(它使用Virtuozzo)。 现在有几次,我们的VPS内存已经用完,没有新的连接可以通过SSH,SMTP或POP连接到服务器。 唯一可行的是连接到Web服务。 幸运的是,plesk正在VPS上运行,我们已经能够通过plesk重新启动它(以及看到RAM是100%使用)。 我想find什么过程造成这一点。 我有一个感觉,这是MySQL,但不知道。 是否有某种logging我可以执行,这将帮助我找出下一次发生的原因是什么? 谢谢。
通常在购买VPS时,我们面临着许多function。 这些包括RAM。 在XEN虚拟化RAM和交换是(或应该)专用。 在OpenVZ中,“爆发”有多重要? 我问,因为我怀疑这个价值的真正重要性。 有人可以开导我吗?
我只是把我所有的网站都移到了一台配有4GB内存的新服务器上。 几乎马上,mysql开始崩溃,并且一度没有重启,这导致了重大的中断(因为我没有注意到,直到有人指出)。 这里是剥离CRON作业的日志: http : //pastebin.com/9SAUBcFp (apache2调用oom-killer,内存不足错误等) df -h没有超过4%的使用率。 这是一个free -m的输出 total used free shared buffers cached Mem: 4002 2090 1911 0 168 1015 -/+ buffers/cache: 906 3095 Swap: 255 8 247 这是mysqlreport的输出 __ Key _________________________________________________________________ Buffer used 849.00k of 16.00M %Used: 5.18 Current 2.99M %Usage: 18.71 Write hit 44.87% Read hit 98.84% __ Questions […]
我有一个带有64G DRAM的24核心服务器,运行Ubuntu Server 15.10。 我在交换和物理内存方面遇到了一些奇怪的现象。 直到我将Ubuntu升级到15.10之前,我从来没有遇到过这个麻烦。 你可以看到我的问题在'顶部': top – 18:52:09 up 1 day, 2:25, 3 users, load average: 1.64, 1.30, 1.18 Tasks: 525 total, 2 running, 523 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 1.3 sy, 0.0 ni, 97.0 id, 1.4 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 65937528 total, 37526160 used, […]
我真的很难搞清楚这个数据库需要多lessram。 现在,这是一个大多填充文本内容,并有+ 40K条目的表格。 mysql> show table status; +——-+——–+———+————+——-+—————-+————-+——– ———+————–+———–+—————-+———————+—————- —–+————+——————-+———-+—————-+———+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +——-+——–+———+————+——-+—————-+————-+—————–+————–+———–+—————-+———————+———————+————+——————-+———-+—————-+———+ | links | MyISAM | 10 | […]
我最近把我的网站迁移到了新的服务器上。 服务器pipe理员提到网站使用了大量的内存。 我当时没有FTP访问权限,所以在testing服务器版本(迁移前的原始版本)仍处于活动状态时,我在模板中运行memory_get_usage()以将其输出到页面。 这输出了一个值约27.5M,这是在规定内。 与此同时,我通过实时版本,并禁用任何我不需要的模块(在开发过程中安装了一些我不再需要的),并closures了“在页面加载时重build主题registry”,但活动服务器pipe理员仍然报道太高了。 获得FTP访问后,我将memory_get_usage()复制到live版本上。 现在报告了40M。 所以testing版本是27.5M,活版本是40M,相对较less的模块,没有重build主题registry。 什么可能导致这个? UPDATE 我浏览了网站并禁用了所有未使用的模块,然后从FTP中删除它们。 为匿名用户设置caching,然后清除caching,closures重build主题registry。 以优化和聚合脚本,我仍然运行在活动服务器上的36M和testing服务器上的27.5M。 任何人都可以帮忙吗?
我有一个VPS在Centos上运行apache-php-mysql,并安装了一个drupal网站。 VPS有256MB的RAM(可能是我所有问题的根本原因…也许我只是需要更多)。 每当我尝试从多个浏览器标签(大约8 …不是800)一次打开我的网站,Apache崩溃! 我在日志上有这个: [致命错误] [客户端xxx] PHP致命错误:内存不足(分配28049408)(试图分配201335字节)在xxx行2139,referer:xxx 我在这里读了许多许多post,但我认为有一些基本的东西是我缺less的 – 如果我理解正确的话,一些php脚本在分配28MB后试图分配200K,并且没有这样做。 第一个问题是:这应该导致Apache崩溃? 接下来,我尝试着看“顶”命令,而我做我的小testing。 事实上,我看到7个httpd进程,每个预留大约30MB – 这就解释了为什么我的RAM耗尽。 如何防止apache创build新的进程,直到内存不足? 我尝试像这样configuration/etc/httpd/conf/httpd.conf: <IfModule prefork.c> StartServers 1 MinSpareServers 1 MaxSpareServers 1 ServerLimit 1 MaxClients 1 MaxRequestsPerChild 100 </IfModule> 但得到了同样的确切结果! 我错过了什么? 非常感谢! 更新: 我的PHP memory_limit是128M(由drupalpipe理页面确认…)free -m的输出: total used free shared buffers cached Mem: 256 226 29 0 0 0 -/+ buffers/cache: […]
我有一些运行虚拟机的老式服务器,但它们被限制在16GB内存,这限制了我可以运行的虚拟机的数量以及RDS的选项。 我已经添加了一个由两个Intel 311组成的RAID1arrays:20GB SLC SSD,并将它们configuration为交换主机,希望我现在可以更自信地将可用内存过度分配给VM。 到目前为止,在testing中这么好,但是在我进一步探讨之前,我想问一下我是否错过了一个很好的理由,为什么这将是一个坏主意? 我也许应该提到几个虚拟机是非常间歇性地使用的,但是我们不能减less他们所拥有的内存,因为它们是活动的,这是需要的。