【问题标题】:Does 32bit PHP suffer from address space allocation limits?32 位 PHP 是否受到地址空间分配限制的影响?
【发布时间】:2012-09-25 03:48:04
【问题描述】:

我最近了解到,编译为 32 位的 Perl 只能寻址 4GB 内存,尽管内核通过 PAE 支持和使用更多内存。

PHP 也有这种情况吗?是否所有编程语言?

来源:http://linux.die.net/man/1/perlsolaris 验证:浪费了半天时间。

【问题讨论】:

标签: php linux memory ram


【解决方案1】:

【讨论】:

  • 谢谢,但这只是表明它可以为整数保留更多空间,因此可以使用更大的数字。
【解决方案2】:

这个问题在Memory limit to a 32-bit process running on a 64-bit Linux OS中得到了更广泛的回答

那里的最佳答案的简短引用:

32 位进程只能访问 4GB 的虚拟内存 无论操作系统如何。这是由于该过程只能 映射 32 位内存地址。如果你做数学,你会看到 32 位地址最多只能访问 4GB,即使您正在运行 在 128 位操作系统上。

【讨论】:

    【解决方案3】:

    是的,所有 32 位语言都有一个 32 位地址空间,(它的 32 位)将内存访问限制为 4GB。 (即使是 bios 和其他东西也少一点)

    我不明白这怎么可能是一个问题,当然不是 PHP。如果有问题,只需在 64 位操作系统上运行即可。 Linux、Windows、Mac,任你选择。

    【讨论】:

    • 当您需要在您别无选择只能处理的遗留系统上一次运行导出 20G+ 的数据时,问题就出现了。把它放在上下文中,我正在将数据从 Debian Sarge i386 移动到更现代的操作系统,并且必须导出内容以导入新的操作系统。
    • 在内存中保留 20GB 不是很聪明,我看不出问题。
    • 虽然我不反对,但脚本可以做到。它已经有 10 多年的历史了,远远早于我处理系统的时间。问题是,是否所有语言都受此影响。
    • 正如我在回答中所说:是的,他们确实如此。但该脚本无需修改即可在 64 位的 Debian Linux 上运行。
    猜你喜欢
    • 2019-11-06
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 2012-05-21
    • 2012-01-22
    相关资源
    最近更新 更多