i386 在 macOS Mojave 上意味着什么?

i386 在 macOS Mojave 上意味着什么?

我使用的是 2013 年末的二手 MacBook Pro (Mojave 10.14.3),当我arch在终端上输入时,我返回i386.不应该是一个吗x86_64?卖家是否歪曲了商品?请参阅下面的屏幕截图“关于这款 Mac”截屏

答案1

根据这个答案arch区分 PowerPC ( ppc) 和 Intel ( i386),而不区分 x86 上的 32 位和 64 位内核。因此,在本文中,i386指的是 x86 CPU。

检查输出uname -m以找出您的机器类型。 (在 Linux 上,arch相当于uname -m。)

也可以看看这个询问不同的问答

答案2

在 macOS 系统上,与其他 BSD 系统一样,您应该使用该machine实用程序:

$ arch
i386
$ machine
x86_64h

i386如果您习惯于arch其他系统上的实用程序,这会产生误导。在 macOS Mojave 上,i386这意味着它能够运行为 Intel 系列处理器编译的 32 位软件。请注意,arch与 Linux 等操作系统相比,macOS 上的实用程序用于完全不同的用途(请参阅其手册)。

您还可以uname -m在 Linux 上使用:

$ uname -m
x86_64

答案3

我觉得使用“传统”实用程序(例如archunamesw_vers)来发现 Mac 的硬件或软件可能不太可靠。这肯定是不矛盾的!甚至系统手册也充满了不一致之处。

这并不是说您无法从这些实用程序中获取有用的信息,只是说除非您知道自己在寻找什么,否则您可能会得到以下结果不同的从您在其他系统上获得的内容。

例如:

$ arch
i386

不! (除非您使用的是非常旧的计算机。)

另一个例子是操作系统版本。man sw_vers两者man uname都声称报告“操作系统版本”:

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.4
BuildVersion:   18E226

$ uname -v
Darwin Kernel Version 18.5.0 ....  # output snipped 

这一切都很好 - 我们知道内核和发行版版本编号是不同的,但是这两个命令的系统手册说你得到了OS Version.了解当前的起源macos解释了其中一些,但没有解释为什么系统手册不一致。

因此,对于OP关于如何获取系统上清晰可靠的信息的问题,我认为答案应该是system_profiler同时用于硬件和软件:

$ system_profiler SPHardwareDataType
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro13,3
      Processor Name: Intel Core i7
      Processor Speed: 2.9 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 8 MB
      Memory: 16 GB
      Boot ROM Version: 254.0.0.0.0
      SMC Version (system): 2.38f7
      Serial Number (system): C02*********
      Hardware UUID: ********-****-****-****-************

$ system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: macOS 10.14.4 (18E226)
      Kernel Version: Darwin 18.5.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Computer Name: MacBook No 2
      User Name: Seamus (seamus)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 13:13

此外,系统手册似乎system_profiler保持在更新的状态。

最后,至于标题问题:“[i386 的输出arch] 在 macOS Mojave 上意味着什么?”回答:不幸的是,方法Apple 没有正确维护其文档和/或应用程序。

相关内容