Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
32位PHP是否存在地址空间分配限制?_Php_Linux_Memory_Ram - Fatal编程技术网

32位PHP是否存在地址空间分配限制?

32位PHP是否存在地址空间分配限制?,php,linux,memory,ram,Php,Linux,Memory,Ram,我最近了解到,尽管内核通过PAE支持和使用了更多的内存,但将Perl编译为32位时只能处理4GB的内存 PHP也会受到这种影响吗?你喜欢所有的编程语言吗 资料来源: 验证:浪费了半天。 这是我在1分钟的谷歌搜索中发现的:) 这是我在1分钟的谷歌搜索中发现的:)这在 下面是最重要答案的简短引述: 32位进程只能访问4GB的虚拟内存 不管操作系统是什么。这是由于该过程只能 映射内存地址的32位。如果你算一下,你会明白的 32位地址最多只能访问4GB,即使您正在运行 在128位操作系统上 这一点在本书

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

PHP也会受到这种影响吗?你喜欢所有的编程语言吗

资料来源: 验证:浪费了半天。

这是我在1分钟的谷歌搜索中发现的:)


这是我在1分钟的谷歌搜索中发现的:)

这在

下面是最重要答案的简短引述:

32位进程只能访问4GB的虚拟内存 不管操作系统是什么。这是由于该过程只能 映射内存地址的32位。如果你算一下,你会明白的 32位地址最多只能访问4GB,即使您正在运行 在128位操作系统上


这一点在本书中得到了更为普遍的回答

下面是最重要答案的简短引述:

32位进程只能访问4GB的虚拟内存 不管操作系统是什么。这是由于该过程只能 映射内存地址的32位。如果你算一下,你会明白的 32位地址最多只能访问4GB,即使您正在运行 在128位操作系统上


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


我不认为这是一个问题,当然不是PHP的问题。如果有问题,只需在64位操作系统上运行即可。Linux、Windows、Mac,您可以选择。

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


我不认为这是一个问题,当然不是PHP的问题。如果有问题,只需在64位操作系统上运行即可。Linux、Windows、Mac,您可以选择。

谢谢,但这只表明它可以为整数保留更多空间,因此可以使用更大的数字。谢谢,但这仅仅表明它可以为整数保留更多的空间,因此可以使用更大的数字。当您需要在传统系统上一次性导出20G+的数据时,这个问题就开始出现了,您别无选择,只能处理这些数据。在上下文中,我正在将数据从Debian Sarge i386移动到一个更现代的操作系统,并且必须导出内容以导入到新的操作系统中。将20GB存储在内存中不是很明智,我不认为有问题。虽然我不反对,但脚本做到了这一点。它已经超过10年了,远远早于我处理系统的时间。问题是,是否所有语言都会遭受这种痛苦。正如我在回答中所说:是的,他们会。但该脚本可以在64位的Debian Linux上运行,无需修改。当您需要在遗留系统上一次性导出20G+的数据时,这个问题就会出现,您别无选择,只能处理。在上下文中,我正在将数据从Debian Sarge i386移动到一个更现代的操作系统,并且必须导出内容以导入到新的操作系统中。将20GB存储在内存中不是很明智,我不认为有问题。虽然我不反对,但脚本做到了这一点。它已经超过10年了,远远早于我处理系统的时间。问题是,是否所有语言都会遭受这种痛苦。正如我在回答中所说:是的,他们会。但该脚本可以在64位的Debian Linux上运行,无需修改。要解决内存寻址问题,您可以使用诸如Tie::File()或File::Map()之类的模块。这些将允许您使用文件作为Perl变量,因此您可以在对代码进行最小更改的情况下更改存储方法。当然,这是否会让人望而却步取决于脚本的设计以及它的随机访问量。要解决内存寻址问题,您可以使用诸如Tie::File()或File::Map()之类的模块。这些将允许您使用文件作为Perl变量,因此您可以在对代码进行最小更改的情况下更改存储方法。当然,这是否会令人望而却步,取决于脚本的设计以及它的随机访问量。