64位或32位Linux系统?

我有一台4GB内存的服务器.在它上面,我安装了32位slackware Linux 12.1.当然,它并没有使用全部4GB的RAM.我很快就想将RAM增加到8GB,并且正在寻找系统使用它的方法.该系统用作数据库服务器,白天负载很高.

AFAICT,我有两个选择:保持32位并重建内核并失去一些性能.或者使用64位并重新安装所有内容.看看64位版本的slackware,我可以运行-current或Slamd64.

现在,问题是:

>我应该留在32位还是64位?
>如果我去64位,我应该使用-current还是Slamd64?

附:我希望从生产中实际使用任何这些配置的人那里得到答案,而不仅仅是复制/粘贴我可以通过Google找到的东西.

解决方法

大多数现代32位cpu支持PAE,允许它们处理超过4GB的物理内存,尽管单个进程一次只能看到4GB.内核将占用一些这样的地址空间. This Stackoverflow post讨论了PAE的工作原理.

许多操作系统(包括Linux和MS Windows)都提供了一个API,允许您在进程的虚拟地址空间中操作MMU和页面覆盖.此工具允许您为磁盘缓冲区使用额外的内存.但是,据我所知,唯一直接支持的DBMS平台是MS sql Server.

额外的内存将提高您的数据库读取性能(这可能会提高您的整体吞吐量),但写入性能将受到I / O的限制.如果您的数据库缓存命中率较低(例如低于95%),那么额外的内存可能会提高您的整体吞吐量.否则,您可能需要查看磁盘子系统(请参阅下面的1).

假设您需要或可以从更多内存中受益,最好的方法是转移到64位平台.现代Xeon或Opteron服务器将允许您安装最多32-144GB,具体取决于型号.这可能是您的最佳选择.

> SAN适用于事务性应用程序.对于大批量应用程序,您应该在数据库日志上进行直写式缓存,但是您可以在数据卷上使用回写式高速缓存.这将为您提供良好的日志阅读器性能,因为随机数据写入可以被控制器的电池备份缓存吸收,并且控制器可以优化磁盘写入以提高吞吐量.但是,这种安排具有可能使数据量不一致(损坏)的故障模式.在日志卷上使用直写可以缓解这种情况(因为日志不容易受到这些故障模式的影响).实际上,这会将您限制为恢复/前滚恢复模型,因此只有在您能够容忍(例如)4小时恢复窗口时才能使用它.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...