我的一台 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/