mysqld-nt: Out of memory (Needed 1677720 bytes)解决方法

今天发现网站有点慢,发现mysql日志中提示mysqld-nt: Out of memory (Needed 1677720 bytes),经排查是由于最近调整了mysql的一些参数导致,以为内存大就不怕了,32位系统真心内容利用率很低,据说不超过4G,我们的32G内存真浪费了,以后还是使用win2008 r2或centos系统做服务器吧。废话不多说下面为大家分享下解决方法:

因为mysql版本不同可能配置略有区别,主要就是设置如下参数

key_buffer、key_buffer_size、read_buffer_size、sort_buffer_size记住了有这个参数的就改,没有也不要添加。修改后一般是降低,然后重启mysql服务即可。

核心提示:检查mysqld配置my.conf,着重看key_buffer_size, max_heap_table_size, tmp_table_size几个参数,推荐设置key_buffer_size值为max_heap_table_size的1/4.

因为服务器内存而大富余比较多,前些天把my.conf里的好几个参数调得相当大,1G甚至2G,但并不稳定,mysqld报出过几次Out of memory (Needed xxx bytes)这样的错误,分析原因时,想到是32位linux系统上的linux不支持PAE,不能使用超过3G以上的内存,所以把改大的几个参数适当改小了点,最大也只有几百M的样子,但还是出现过几次Out of memory错误。于是网上多方查询,后来受到公式

key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections

的启发,两次检查了key_buffer_size, max_heap_table_size, tmp_table_size几个参数,发现这三个值的设置是一样的,竟然都是512M!

于是改小key_buffer_size到128M,重启mysqld接下来5个小时的监测,没有再发生类似错误。

改了这几个参数后,还是有一条是Out of memory ,继续检查,发现innodb_buffer_pool_size = 1512M,于是我改为1000M,再启Mysql居然好了。

注:这台服务器一共了才3G内存:最终大至如下

key_buffer = 200M
key_buffer_size = 1294963200
#max_join_size = 4294967295
max_join_size = 1294967295
max_allowed_packet = 1M
#table_open_cache = 512
table_cache = 512
sort_buffer_size = 2294967295
read_buffer_size = 2147479552
#write_buffer_size = 4294967295
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M

php错误Fatal error: Out of memory (allocated 262144) (tried to allocate 19456 bytes

php运行一段时候后出现错误:

php错误Fatal error: Out of memory (allocated 262144) (tried to allocate 19456 bytes

意思是说:致命错误,超出内存,已经分配allocated 262144,尝试分配19456 字节。

解决方法是修改php.ini,加大memory_limit

刚刚着实吓我一跳,html可以正常访问,php不行,我还以为是受攻击呢。

后来看到www.blogguy.cn 上不去了Fatal error: Out of memory (allocated 262144) (tried to allocate 19456 bytes,知道是内存不足导致的,可是vps也连不上去,也看不到到底是谁在占内存,只能进网站后台重启vps,就不知道问题出在哪儿了。记录下来备案!

修改方法

修改php.ini

如下的区域

max_execution_time = 120 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 64M ; Maximum amount of memory a script may consume (64MB)

根据需要调整。

重启一下apache就可以了。

(0)

相关推荐

  • mysqld-nt: Out of memory (Needed 1677720 bytes)解决方法

    今天发现网站有点慢,发现mysql日志中提示mysqld-nt: Out of memory (Needed 1677720 bytes),经排查是由于最近调整了mysql的一些参数导致,以为内存大就不怕了,32位系统真心内容利用率很低,据说不超过4G,我们的32G内存真浪费了,以后还是使用win2008 r2或centos系统做服务器吧.废话不多说下面为大家分享下解决方法: 因为mysql版本不同可能配置略有区别,主要就是设置如下参数 key_buffer.key_buffer_size.re

  • mysql Out of memory (Needed 16777224 bytes)的错误解决

    这几天碰到这个错误. 至于我改的这几个值是不是正确的解决方法,目前还不知道.先贴出来. 如果过一段时间我还是没有更新,那以后同志们都参考吧 . Out of memory (Needed 16777224 bytes)的错误解决 看看手册: [url]http://dev.mysql.com/doc/refman/5.1/en/memory-storage-engine.html[/url] 开始我更改了query_cache_size的值. 好像也不行. 之后 增大query_cache_li

  • php运行提示:Fatal error Allowed memory size内存不足的解决方法

    本文实例讲述了php运行提示:Fatal error Allowed memory size内存不足的解决方法.分享给大家供大家参考.具体方法如下: 有些朋友新配置的环境或自己新写的程序运行时会碰到fatal error: Allowed memory size of 134217728 bytes exhausted错误,这种问题一个是程序写得不好导致的,另一个是环境配置不好也会出现,像php5.1.27+apache2.2.3好像在windows2003中就会出现bug不管你怎么修复都无法解

  • ThinkPHP提示错误Fatal error: Allowed memory size的解决方法

    本文实例讲述了ThinkPHP提示错误Fatal error: Allowed memory size的解决方法.分享给大家供大家参考.具体分析如下: 如果你的ThinkPHP提示你:致命错误(Fatal error: Allowed memory size),根据网上说的提高服务器可使用内存,我觉得都不是好的解决办法.麻烦也没必要.因为这是ThinkPHP本身存在BUG. 错误提示:Fatal error: Allowed memory size of 1073741824 bytes exh

  • java 之JNA中的Memory和Pointer的使用方法

    目录 简介 Pointer 特殊的Pointer:Opaque Memory 总结 简介 我们知道在native的代码中有很多指针,这些指针在JNA中被映射成为Pointer.除了Pointer之外,JNA还提供了更加强大的Memory类,本文将会一起探讨JNA中的Pointer和Memory的使用. Pointer Pointer是JNA中引入的类,用来表示native方法中的指针.大家回想一下native方法中的指针到底是什么呢? native方法中的指针实际上就是一个地址,这个地址就是真正

  • sql server 2008 用户 NT AUTHORITY\IUSR 登录失败的解决方法

    用户 'NT AUTHORITY\IUSR' 登录失败. 其实这样的情况,要不就是用户名密码不正确,要不就是用户无法登录sql server 2008.一步一步分析. 1.首先asp连接sql server 2008数据库应该没有问题. 之前我用了多种方法,链接数据库,其实链接2000与2005.2008的无区别 需要注意的是: DataServer = "127.0.0.1" DataServer = "(local)" 都是可以使用的 ConnStr="

  • Android模拟器"Failed To Allocate memory 8"错误如何解决

    Android在启动模拟器AVD时,出现下面的异常:"Failed to allocate memory: 8",怎么办? 此错误是我们在允许AVD时,选择了默认的AVD插件所致. 解决方法:减少分配的内存大小.修改AVD的配置文件,将选项"hw.ramSize=1024"从1024改为256.如图所示: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法

    本文实例讲述了Android模拟器无法启动,报错:Cannot set up guest memory 'android_arm': Invalid argument的解决方法.分享给大家供大家参考,具体如下: [错误] 模拟器无法启动,报错:Cannot set up guest memory 'android_arm': Invalid argument [解决办法] 在AVD中(Android Virtual Device Manager)将模拟器的RAM调成512. 这里写图片描述 st

  • 详解Pycharm出现out of memory的终极解决方法

    最近在跑程序,然后Pycharm就跳出out of memory 的错误提示,可能是由于读取的数据太多导致的,Pycharm有一个默认内存的最大容量上线,跳出提示的是1024M,也就是分配给Pycharm的内内存不够啦! 一.说明: pycharm64.exe.vmoptions 配置文件的内容 -Xms128m -Xmx1024m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB

  • Pycharm报错:'NoneType' object has no attribute 'bytes'的解决方法

    目录 问题描述: 解决方案: 附降级命令: 总结 问题描述: 使用指令 python -m pip install --upgrade pip 升级pip时,Pycharm报错:AttributeError: ‘NoneType’ object has no attribute ‘bytes’如图: 解决方案: 输入指令:easy_install -U pip 如图: 附降级命令: python -m pip install --upgrade pip==9.0.3 总结 到此这篇关于Pycha

随机推荐