Chinaunix首页 | 论坛 | 博客
  • 博客访问: 288067
  • 博文数量: 57
  • 博客积分: 965
  • 博客等级: 准尉
  • 技术积分: 736
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-24 10:22
文章分类

全部博文(57)

文章存档

2014年(2)

2013年(22)

2012年(25)

2011年(8)

分类: Mysql/postgreSQL

2012-11-29 15:11:58

    最近,网站经常出现 数据库连接失败的提示,每次都是一会就又恢复了,但服务器的负载不高,CPU和MEM的利用均有空闲,访问并发也不高。查看服务器的系统日志和数据库日志都没有发现报错,很郁闷。
    网上找了很多资料,有说是页面循环数据库请求过多,还有就是数据库连接是常连接,但我的网站都没有,还有就是mysql返回要跳过主机名解析,也在host里面指定了。
    后来在出现问题的时候,到数据库服务器上连接数据库,发现如下报错:
ERROR 1135 (HY000): Can’t create a new thread (errno 11); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug
 
   首先使用perror工具看一下 错误代码11代表的意思  perror 11  OS error code 11: Resource temporarily unavailable (资源暂时不可用);google搜索了一下,很多文章说和当前用户的文件描述符ulimit -n有关系;
ulimit -n
1024
然后修改了cat /etc/security/limits.conf文件,添加如下三行:
mysql soft nproc 65536
mysql hard nproc 65536
mysql soft nofile 65535
 
或者为了保险起见,可以添加如下两行:
* soft nproc 65536
* hard nproc 65536
退出当前会话,重新登陆,用ulimit -a 查看配置是否生效。
 
以上还无法解决问题,可以再参考:
阅读(2388) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~