mac os lscpu 【转】

CPU Information on Linux and OS X

This is small blog post detailing how to obtain information on your CPU on Linux and Mac OSX. These commands give information such as the instruction set of the processor, the type of processor, the number of cores, number of CPUs, information about the caches etc.

Linux :

In Linux, the “proc” file system  is providing most of the important information on the system. It interfaces with the kernel to obtain these information and is mounted as “/proc” on most of the Unix machines. More information can be found here.

The command to obtain information is this one.

1
cpuinfo

If using GCC to compile C programs, you might want to use the “-march=cpu-type” to optimise your compilation to your type of processor and it’s set of instructions, to do that you can use use the following command :

1
cpuinfo

Another useful command on multiple linux distributions is this one :

1
lscpu

The command try to display information on your CPU in a human readable format but do not include all the information available.

 OS X  :

On OS X mountain lion and probably some other versions, the commands to use are a bit different, some general information about the system can be found by using the “system_profiler” command. This command includes some simple information on the system in use:

1
system_profiler

However more dedicated information can be found by using the “sysctl” command which is an interface to dynamically change system variables and obtain detailed informations on the system. This command is also present on BSD systems.

1
hw

This command will give you the following type of output :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
4
1234
8589934592
4
2
2
4
4
7
4
1
1463508716
0
0
4096
4800000000
4800000000
4800000000
2800000000
2800000000
2800000000
64
32768
32768
262144
4194304
1000000000
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
x86_64
2
4
1234
2147483648
877899776
4096
0
1
4294967295
2800000000
64
32768
32768
1
262144
1
4194304
1000000000
8589934592
4

As  you can see, the  command is displaying  specific informations such as the instruction set supported by your processor amongst many other information. For more information on the sysctl command use RTFM.

Have fun.