mysql - Linux 服务器交换性

标签 mysql linux performance centos

我注意到我们的服务器交换处于 Swap Used 98.66%(2,000,000 中的 1,973,240)。减少这种情况的任何提示。只是为了背景,我有一个

 CentOs 6.6 Rack Server
 1.92 (24 core) processors
 48Gig ram

我们用它做一些非常繁重的数据库 (MySql) 工作,它驻留在 240gig SSD 上。我们还写了很多文件,例如我今天必须解决一些问题,因为我们使用了 99% 的 2Tb 主驱动器,我们还有 160gb SSD 用于写入报告文件。它通常为 73% ram 使用率和 300% cpu 使用率。所以任何帮助都会很棒。就像我说的,我们用它做了很多工作。例如,每小时大约 5.2Gb 的数据库流量。

Opps,以为我把它放在服务器故障上,我没有找到移动它的方法?

谢谢,

最佳答案

MySQL 在交换时表现非常糟糕。

48GB —— 什么占用了它?主要是MySQL吗?如果是这样,让我们​​看看如何减少 MySQL 中的缓存以避免交换。

如果您使用的是 InnoDB,请将 innodb_buffer_pool_size 设置为 available ram 的大约 70%。并将key_buffer_size设置为20M。

如果您使用的是 MyISAM;好吧,不要。 (如果需要我会详细说明。)

73% 的 RAM 听起来你并没有真正交换。

300% CPU 听起来像是您有一些受 CPU 限制的非 MySQL 应用程序,或者您有一些缓慢的查询。如果是后者,让我们看看他们;我们也许可以改进它们。

关于mysql - Linux 服务器交换性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31686677/

相关文章:

mysql - 在 c 脚本中连接到 mysql?

java - 即使 mysql 连接器位于 lib 文件夹中,Tomcat 也会警告我内存泄漏

php - 如何存储由用户服务器端(mySQL)创建的 <li>-item

linux - 为 2.4.0 内核、i586 架构构建二进制文件 (telnet)

performance - Powershell 脚本在运行空间中的运行速度比在 shell 中慢

performance - 如何以最佳效率在paperjs中重新定位路径线?

mysql - Ruby on Rails - rake 数据库 :migrate is not working

linux - 如何在 shell 脚本中将目录附加到现有变量?

c - 如果进退两难

javascript - 修改 DOM 元素和限制回流的最有效方法是什么?