Php 64位操作系统内存消耗上运行的32位程序
我们有一台windows server 2008 R2 32G内存机,这显然是一个64位操作系统。我们安装了XAMPP 32位版本,带有32位MySQL和PHP。然后我们在上面托管一个用PHP编写的webmail系统。我的问题是:那些32位MySQL和32位PHP会消耗超过4G的操作系统内存吗?我们是否必须安装64位MYSQL和PHP才能获得这个结果Php 64位操作系统内存消耗上运行的32位程序,php,mysql,xampp,32bit-64bit,Php,Mysql,Xampp,32bit 64bit,我们有一台windows server 2008 R2 32G内存机,这显然是一个64位操作系统。我们安装了XAMPP 32位版本,带有32位MySQL和PHP。然后我们在上面托管一个用PHP编写的webmail系统。我的问题是:那些32位MySQL和32位PHP会消耗超过4G的操作系统内存吗?我们是否必须安装64位MYSQL和PHP才能获得这个结果 谢谢基于x86体系结构指令集,32位编译的软件永远无法分配超过4GiB的内存,因为它们无法直接访问此内存。由于它们使用32位来表示内存地址,并且由
谢谢基于x86体系结构指令集,32位编译的软件永远无法分配超过4GiB的内存,因为它们无法直接访问此内存。由于它们使用32位来表示内存地址,并且由于2^32=4GiB(四舍五入),它们将无法进一步表示任何地址 另一方面,通过使用PAE,软件可以间接地在32位系统上使用超过4GB的内存,但软件必须明确地开发才能使用它
您需要每个软件及其库的64位版本,否则即使操作系统能够识别您的所有内存,您也无法直接使用超过4GB的内存。这不完全正确。尽管虚拟内存地址空间仍然是4GB,但操作系统可以利用。(但是,请参阅具体操作系统限制/impl的详细信息。)他的操作系统已经是64位的了,我从来没有提到过操作系统32位的地址可能永远不会超过4GiB,只是用32位编译的软件不能直接寻址超过4GiB的地址。据我所知,在XAMPP.Closing中没有植入PAE机制以迁移到serverfault.com。