生产服务器有16GB的RAM和一个32位的操作系统。 replace为64位操作系统?

我有一台带有16GB RAM的生产服务器,配有32位CentOS安装。

托pipe在这台服务器上的网站每天的stream量越来越大,这导致了一些MySQL性能问题。 我运行mysqltuner.pl并得到以下消息:

 [!!] Switch to 64-bit OS - MySQL cannot currently use all of your RAM *** MySQL's maximum memory usage is dangerously high *** *** Add RAM before increasing MySQL buffer variables *** 

我可以用32位操作系统来存活吗?还是我需要安装64位版本?

    你可以在32位的CentOS安装中生存下来。 但是,正如警告所说,使用32位操作系统意味着MySQL实际上不能使用系统中安装的所有(甚至大部分)RAM。

    对我来说似乎是一种浪费。 如果硬件支持64位,我肯定会replace64位的32位操作系统,是的。 您可能首先需要做一些testing,并且/或者使用第二台服务器来查明当您切换操作系统时会发生什么事情,因为总会有这样的事情发生。

    严格来说,你不需要安装一个64位的操作系统,但你绝对应该。 也许更快,而不是稍后,在32位操作系统的RAM限制开始导致您的问题之前。

    32位二进制的最大虚拟地址空间是2 ^ 32(4GB) – 一旦你达到这个限制,你就无处可去。

    你应该切换到64位? 绝对。

    不仅不会再遇到内存障碍,通用的64位指令集的性能通常比通用的32位(由于x86的年龄大)更好,因此,切换到x64将会使内存和计算速度。

    很明显,如果你自己编译x86二进制文件到你的确切CPU的arch目标上,你可以发现与x64相比,性能并没有那么不同,但是,因为你使用了预先打包好的CentOS二进制文件,显然这不是案件。

    尽pipe答案已被接受,但这里讨论的内容却有很多缺失。

    第一:Alexandru没有提到在这台机器上运行的是什么数据库引擎,也没有提到它是专用的DBMS服务器,还是运行其他的东西,数据的大小以及物理I / O / VFS使用情况。

    对于一个专用的基于MyISAM的服务器来说,你不会从增加内存寻址中获得很多好处。 VFS和MySQL一样可以cachingI / O。 如果是OTOD,那么通过golly,是的:在专用机器上的innodb缓冲池应该是专用机器上80%的物理内存。

    无论使用哪种DBMS,在对DBMS进行比较操作时,切换到64位具有显着的性能优势 – 多less取决于您是在执行大量基于哈希或基于B树的查找。

    如果使用同一个盒子进行networking处理,那么,如果你在盒子上使用了大量的SSL,那么最大的区别就是 – SSL是关于计算大数量的 – 所以即使没有近期英特尔芯片的AES加速,也有一个改进那里也是。