- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在高加载时间看到了一些这样的错误:
mysql_connect() [<a
href='function.mysql-connect'>function.mysql-connect</a>]: [2002] Resource
temporarily unavailable (trying to connect via
unix:///var/lib/mysql/mysql.sock)
据我所知,mysql 服务器没有达到其最大连接数限制,但还有其他原因阻止它为查询提供服务。 MySQL 还会达到哪些其他限制?
我正在运行 RHEL 6.2 64 位和 MySQL 5.5.21
最佳答案
让我们假设您的系统当前是基于 Unix 的(如您的问题陈述中所给出的)。如果这是正确的,那么您可能会遇到以下问题:
您已经用完了 memory可用于 MySQL。
这是您最有可能遇到的问题。 MySQL 连接池中的每个连接都需要内存才能运行,如果此资源耗尽,则无法建立进一步的连接。当然,各种操作的内存占用和最大数据包大小可以在your equivalent to my.cnf
中进行调整。如果您发现这是一个问题。
Here's an additional thread that can help there ,但您也可以考虑使用更简单的分析工具(如 top
)来大致估计正在发生的事情。
您已经用完了 file descriptors可供您的 MySQL 用户帐户使用。
另一个常见问题:如果您尝试为需要超过 1,024 边界(默认情况下)的文件 IO 的请求提供服务,您将遇到操作完全失败的情况。这是因为大多数系统对每个用户一次可以打开的文件描述符的数量指定了软硬限制,超过这个阈值可能会导致问题。
这通常会在您的日志文件中表达出一系列非常明显的迹象。检查 /var/log/messages
和您的可比目录(例如,/var/log/mysql
,看看您是否能找到任何有趣的东西。
您遇到了 livelock or deadlock您的线程无法满足的场景。
内存和文件描述符耗尽的必然结果是,如果您超出了系统能够处理的计算负载,线程可能会超时。它不会抛出此错误消息,但这是 future 需要注意的事情。
您的系统可用的 PID 已用完 fork
.
另一种常见情况:fork
在任何给定时间只有这么多 PID 可供使用。如果您的系统只是 overforked ,它将不再能够为请求提供服务。
对此最简单的检查是查看是否有任何其他服务可以连接到机器。例如,尝试通过 SSH 进入盒子并发现你不能是一个大线索。
上游代理或连接管理器已耗尽资源并停止为请求提供服务。
如果您的客户端和 MySQL 之间有任何服务层,则需要检查它是否崩溃、挂起或以其他方式变得不稳定。以上建议适用。
你的端口映射器已经耗尽了自己after 65,536 connections .
不太可能,但又一次,可能是用尽的情况。像上面那样检查简单的服务连接,嗯,也是这里最好的停靠点。
简而言之:这是一种资源耗尽的情况,包括服务器只是“停机”。您将不得不进一步分析您的系统以查看您在阻止什么。在这种情况下,所有错误消息都告诉我们资源对客户端不可用——我们需要查看有关服务器的更多信息以确定更充分的补救措施。
关于mysql资源暂时不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10131615/
我正在使用 typedef 的第三方库s byte至 char . (这很糟糕,因为 char 可能是 signed 或 unsigned,具体取决于编译器的选择)。 不幸的是typedef已经溢出到
每当我做一个工作任务时,我都会在git中创建一个本地分支,然后我需要在实际工作之前修改一堆配置文件(主要包含数据库的连接字符串)以设置为我的本地环境。我不想在完成任务后将这些更改推送到存储库。 实际上
我有一个生成大量可能状态的方法,当使用 , 链接它时与(有条件的)fail或 tactic no_tac ,由此产生的组合方法需要很长时间才能终止并导致 Isabelle 界面滞后。但是,当使用两个
为了从转储中恢复数据库,我想暂时禁用数据库所有表中的所有约束,我清空了这些表的内容(postregsql 8.3)。 是否有一种安全的方法来修改 pg_constraint 表中的字段,从而轻松绕过约
在 my usecase我正在尝试同步两个 Elasticsearch 索引。由于版本控制,这实际上是 quite simple 。不过,我想在这样做的同时随时继续写作。 好的,我想按时间顺序执行的步
我需要在 Symfony (1.3.8) 支持的网站上执行升级/增强。该站点将至少离线几天。有谁知道如何使用 Symfony 框架设置“临时离线”页面? 最佳答案 以下是来自 A Gentle Int
我正在为 UIAlertView 创建一个包装器(我知道 UIAlertController 和一些已经存在的包装器,它也用于教育目的)。 假设它看起来像这样(非常简短的版本): @interface
一点背景—— 我运行一个使用 Java 运行的游戏服务器,以及一个使用 PHP (phpbb) 运行的论坛。我将游戏和论坛账号关联起来,这样在游戏中更改密码会自动更改论坛账号的密码。这两个系统使用不同
我在我的 System76 Oryx 笔记本电脑上使用 Ubuntu 16.04。触控板非常敏感,所以我曾经使用 Fn+F1 禁用它。这在 18.04 中不再起作用。我环顾四周,发现: synclie
当我对 Haskell 程序进行原型(prototype)设计时,我总是会收到数百条这样的警告(不是开玩笑): /Users/bob/SourceCode/course/is/expriment/Li
据我了解,如果我想在我的 EF6 应用程序中使用延迟加载,我应该将我的关系编码为这样,最后两项标记为虚拟: public class Test { public int TestId { ge
我正在一个有2d map 的项目中: QMap > slot_pic; 我设置了一个表来初始化值: slot_pic[0][0] = QPixmap("path..."); slot_pic[1][
我刚刚修改了 cytoscape.js 的示例(“动画 BFS”)并添加了一些节点: $(function(){ // on dom ready $('#cy').cytoscape({ style:
UIScroll View 让我在一页内容太多时声明一个可滚动区域。奇怪的是,有问题的 ScrollView 在 X 轴上的行为符合预期,不允许任何滚动。不幸的是,Y 轴——需要滚动的地方——不会将允
我是 Maven 新手,而且我也没有太多使用 Eclipse 的经验。 要从 Eclipse 中的构建中排除 java 文件,我右键单击这些文件并选择“构建路径”->“排除”。这对于 Eclipse
我从 GLM 库的 #pragma message 收到许多消息。有没有办法抑制这些,最好是暂时的(只针对那个库)? 最佳答案 我能想到的最佳解决方案是将 g++ 的输出通过管道传输通过过滤器,即 g
在现代浏览器上下文中的 JS 中(特别是 Chrome,但任何答案都很有趣)我如何临时覆盖 Object.prototype.toString 或任何其他 native 代码方法,以便新实现实际接收通
我是一名优秀的程序员,十分优秀!