【发布时间】:2014-05-07 04:19:26
【问题描述】:
我在 Windows 上安装了 Strawberry perl x64,但它似乎有 256 MB 的内存限制。我的 perl 脚本合理地使用了大约 500MB 的内存(对语言语料库进行了一些计算),但是在消耗了 256MB 之后,perl 以消息终止:
Out of memory during request for 4088 bytes, total sbrk() is 267954176 bytes!
可以在某个地方增加限制吗?我的机器有 18GB 内存,在 x64 平台上使用应该没有问题,但我找不到配置它的位置。
感谢您的帮助。
【问题讨论】:
-
这很奇怪,perl 本身没有这样的限制。外部资源限制是否有效?
-
你是如何运行 Perl 的?你在使用 Cygwin 吗?直接从 Windows 命令窗口运行的草莓 Perl 有超过 256MB 的限制
-
sbrk()是增加分配给程序的总内存的函数。因此,您的程序在尝试分配额外的 256MB 时失败,而不是尝试分配前 256MB。 -
@mob:消息说它正在尝试分配另一个已经分配了 256KB 的 4KB。但是
sbrk是一个Unix系统调用,在Windows上不存在所以我很困惑。 -
好吧,1) 我查看了任务管理器,无论 sbrk() 是什么意思,perl 实际上在消耗 256MB 内存时崩溃了。
标签: perl out-of-memory strawberry-perl