以前遇到过一种情况,就是开发的Mac PC端的App在客户Mac 10.7系统之下有问题。经过检查,发现我们提供的驱动是64位系统下运行的,但是客户的电脑是32位,结果导致通过kextload命令加载驱动失败。App当然不能够正常运行。
下面就是查看当前电脑是以32位还是以64位运行的方法:
1.我的Mac系统是OS X EI Capitan Version 10.11.2
------>
点击System Report...进入如下界面,选择Software选项
在以前的系统版本之下在右边会有一个键值对:64位内核和功能扩展: 是
如果有上面红色的内容,那么,你的Mac是以64位运行的。在我的系统下,这个键值对是没有的。
2.在终端输入命令uname -a
看输出的最后,如果是X86_64就是64位,i386就是32位。
3.在控制台输入命令ioreg -l -p IODeviceTree | grep "firmware-abi" | sed -e 's/[^0-9A-Z]//g'
输出EFI64就是64位,EFI32就是32位
通过命令行修改当前Mac的运行方式:
如果你当前是32位,但是想以64位运行,可以在控制台输入这条命令
sudo nvram boot-args="arch=x86_64"
反之
sudo nvram boot-args="arch=x86_32"
Mac以64位运行的好处:
内存不再受限
64-bit Operation 意味着程序运行的空间限制不再是 4GB 的 RAM。
Grand Central Dispatch,提高 CPU 使用效率
Grand Central Dispatch 以下简称 GDC,它允许操作系统对 GCD-aware 的程序进行线程监控。 以前的 Mac OS X 是让程序本身自己对多线程进行管理, 而 GCD 则让操作系统进行线程管理, 动态分配处理器资源给线程, 从而大大提高了CPU 的使用效率。
OpenCL,GPU 加速功能
GCD 是对 CPU 处理多线程程序的提升, 而 OpenCL 则是对 GPU 的加速。 简单的说, OpenCL 可以让强大的 GPU 参与一些非图形的运算中来。 在 64 位模式给我们带来的三大好处中, OpenCL是最依赖于硬件的。