我在多核上运行 memcached (v1.4.4) 时遇到问题。这是我的环境:
运行 VMware、Intel 处理器的 Windows Server 2008 R2 SP1,我正在进行的项目仅启用了一个核心(共八个)。
在资源监视器上,我可以观察到在任何给定时刻运行的 memcached 线程数介于 8 到 9 个之间,即使注册表项未配置 (-t) 标志,因此我预计线程数介于 4 到 5 个之间。(默认为 4 个,事实证明,memcached 运行的线程数多于指示的线程数并不罕见)
此外,此版本的 memcached 是从下载的可执行文件运行的;它尚未在本地 Windows 服务器上进行编译。这(http://trondn.blogspot.com/2010/03/building-memcached-windows.html) 是我在 Windows 上编译 memcached 的唯一资源,以防有人推荐走这条路。
该问题出现在从 VM 启用另一个核心时,memcached 开始消耗 100% 的 CPU;我们必须禁用新核心才能从性能角度进入正常状态。(注意:我不知道如何做到这一点,所以如果解决方案被证明是一个正常退出和重启,我将欢迎更多细节)此外,这是一个生产环境,因此服务器不能长时间停机。
我欢迎任何想法或建议