Jak mogę uzyskać liczbę procesorów i całkowitą pamięć RAM z wiersza poleceń OS X?

33

Jak mogę uzyskać liczbę procesorów i całkowitą pamięć RAM z wiersza poleceń OS X?

Zubair
źródło

Odpowiedzi:

7
scorp@antani-mac:~$ hwprefs cpu_count
2
scorp@antani-mac:~$ hwprefs memory_size
4.00 GB

źródło
13
hwprefsnie wydaje się być częścią domyślnej instalacji OS X (myślę, że jest w Xcode, a może w narzędziach CHUD).
Gordon Davisson
10
hwprefs: nie znaleziono polecenia w Mac OS x Lion
aleroot
2
też nie w Sierra
JDS
2
Potwierdzony, nie w Sierra.
Trevor Sullivan
i nie w High Sierra
Lukas,
63

Możesz to uzyskać z system_profilernarzędzia:

system_profiler SPHardwareDataType | grep "  Memory:"
system_profiler SPHardwareDataType | grep Cores:
system_profiler SPHardwareDataType | grep Processors:

lub, jeśli chcesz przejść na niższy poziom, użyj sysctl:

sysctl hw.memsize
sysctl hw.ncpu

przy okazji, istnieje wiele innych interesujących rzeczy, które można uzyskać sysctl. Próbować:

sysctl -a | grep cpu

żeby zobaczyć kilka z nich

Gordon Davisson
źródło
+1: Metoda sysctl działa na Mountain Lion.
Warren Young,
3
Aby przechwycić dane wyjściowe sysctl w skrypcie, użyj opcji -n, np. Skrypt sh / bash: CPUS_VIRTUAL = `sysctl -n hw.ncpu`
bleater
+1: systemctl działa najlepiej 10.11.x
Danijel-James W
Dziękuję Ci. Nawiasem mówiąc, dane wyjściowe system_profiler SPHardwareDataTypesą czytelne dla ludzi, więc odradzam przesyłanie ich do grep.
Franklin Yu
Zabawny fakt: sysctljest dostępny z terminala w trybie odzyskiwania, podczas gdy wiele innych narzędzi nie jest (współpracownik musiał wiedzieć, ile
pamięci
18

Następujące działa w OS X Lion:

$ /usr/sbin/system_profiler SPHardwareDataType

Hardware:

    Hardware Overview:

      Model Name: iMac
      Model Identifier: iMac7,1
      Processor Name: Intel Core 2 Duo
      Processor Speed: 2.4 GHz
      Number of Processors: 1
      Total Number of Cores: 2
      L2 Cache: 4 MB
      Memory: 4 GB
      Bus Speed: 800 MHz
stephen.z
źródło
To było dla mnie najbardziej przydatne, ponieważ dostałem wszystko, czego szukałem od jednego polecenia i działa na terminalu odzyskiwania dla Yosemite (10.10).
Aaron R.
Bardzo dobrze! Oto odpowiedź.
atomkirk
Zauważ, że /usr/sbin/zwykle jest w $PATH.
Franklin Yu