plone - Zcatalog 清除并重建退出 plone 客户端,没有任何错误

标签 plone zope zodb

我的一台 Plone 机遇到了一个奇怪的问题:当我清除并重建 zcatalog 时,zope 客户端在一段时间后默默退出。没有错误。

我使用 ZMI(zeo + zeoclient,独立)并使用“zinstance debug”完成了该过程。同样的结果是客户端默默退出。

我在 Ubuntu Server 12.04 机器上使用标准 Plone 4.3 和一些插件产品。

为了找出问题我已经完成的任务,但没有成功:

  • 我已检查文件系统的权限。
  • 我已重新安装 Plone 4.3
  • 打包数据库工作正常,但问题仍然存在。
  • 检查文件系统上的空闲 inode。
  • 在其他计算机上执行该进程成功。
  • 使用fg参数执行客户端,退出时没有任何消息。
  • 备份数据库并恢复。恢复后结果相同,但如果在其他计算机上恢复,该过程会重建目录(具有相同的 Plone 版本和插件)。
  • 重新索引目录索引会导致同样的失败:退出且没有消息。
  • ZODB/scripts/fstest.py 没有显示任何错误。
  • ZODB/scripts/fsrefs.py 没有显示任何错误。

有什么线索吗?

最佳答案

大卫,你是对的,我昨天才发现这个问题,但已经太晚了(我很累),无法在这里报告。

此 plone 实例安装在 512 MB 的 VPS (OpenVZ) 上,当没有可用内存时,内核会默默地终止 python 进程。

我最后的测试之一是在启用“日志进度”的情况下重建目录,在那里我显示该进程在不同的点退出,但都在 30% 左右。然后偶然我执行了 dmesg,“瞧”,谜团解决了,看:

[2233907.698115] Out of memory in UB: OOM killed process 17819 (python) score 0 vm:799612kB, rss:497324kB, swap:45480kB
[2235168.564053] Out of memory in UB: OOM killed process 445 (python) score 0 vm:790380kB, rss:498036kB, swap:46924kB
[2236752.744927] Out of memory in UB: OOM killed process 17964 (python) score 0 vm:790392kB, rss:494232kB, swap:45584kB
[2237461.280724] Out of memory in UB: OOM killed process 26584 (python) score 0 vm:790328kB, rss:497932kB, swap:45940kB
[2238443.104334] Out of memory in UB: OOM killed process 1216 (python) score 0 vm:799512kB, rss:494132kB, swap:44632kB
[2239457.938721] Out of memory in UB: OOM killed process 12821 (python) score 0 vm:794896kB, rss:502000kB, swap:42656kB}

关于plone - Zcatalog 清除并重建退出 plone 客户端,没有任何错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20199729/

相关文章:

plone - 不使用 UnifiedInstaller 时,为什么未填充 sys.path?

python - 备份 ZODB blob 的正确方法是什么?

plone - 安装我的产品后,如何在门户的根目录添加经典 portlet?

python - ZODB 中的冲突解决

python - ZODB 等同于有序字典(odict?)

plone - 隐藏目录结果的特定对象

events - 异步运行Plone订阅者事件

python - 如何获得实现接口(interface)的类列表? (zope.interface)

indexing - Plone - ZODB 目录查询 sort_on 多个索引?

plone - ConnectionStateError 的可能原因是什么?