CpuInfo - file /proc/cpuinfo

This parser reads the content of the /proc/cpuinfo file and parses it into a dictionary of lists, keyed on the left hand column of the cpuinfo output.

The object also provides properties for the standard information about the CPU and motherboard architecture.

Sample input:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 45
model name      : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
stepping        : 2
microcode       : 1808
cpu MHz         : 2900.000
cache size      : 20480 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
flags           : fpu vme de pse tsc msr pae mce
address sizes   : 40 bits physical, 48 bits virtual
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 45
model name      : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
stepping        : 2
microcode       : 1808
cpu MHz         : 2900.000
cache size      : 20480 KB
physical id     : 2
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 2
flags           : fpu vme de pse tsc msr pae mce
address sizes   : 40 bits physical, 48 bits virtual
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit

Examples

>>> cpu_info.cpu_count
2
>>> sorted(cpu_info.apicid)
['0', '2']
>>> cpu_info.socket_count
2
>>> cpu_info.vendor
'GenuineIntel'
>>> "fpu" in cpu_info.flags
True
>>> cpu_info.model_name
'Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz'
>>> cpu_info.get_processor_by_index(0)['cpus']
'0'
>>> cpu_info.get_processor_by_index(0)['vendors']
'GenuineIntel'
>>> cpu_info.microcode
'1808'
class insights.parsers.cpuinfo.CpuInfo(context)[source]

Bases: LegacyItemAccess, Parser

CpuInfo parser - able to be used as a dictionary through the LegacyItemAccess mixin class.

The following items are remapped into lists, with the element number corresponding to the CPU. For example, given the following input:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 45
model name      : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
stepping        : 2
microcode       : 1808
cpu MHz         : 2900.000
cache size      : 20480 KB
physical id     : 2
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 2
address sizes   : 40 bits physical, 48 bits virtual
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit

The following keys would be lists of:

  • cpus - the processor line (e.g. 1)

  • sockets - the physical id line (e.g. 2)

  • vendors - the vendor_id line (e.g. GenuineIntel)

  • models - the model name line (e.g. Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz)

  • model_ids - the model line (e.g. 45)

  • families - the cpu family line (e.g. 6)

  • clockspeeds - the cpu MHz line (e.g. 2900.000)

  • cache_sizes - the cache size line (e.g. 20480 KB)

  • cpu_cores - the cpu cores line (e.g. 1)

  • apicid - the apicid line (e.g. 1)

  • stepping - the stepping line (e.g. 2)

  • address_sizes - the address sizes line (e.g. 40 bits physical, 48 bits virtual)

  • bugs - the bugs line (e.g. cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit)

property apicid

Returns the list of apicid of the processor.

Type:

list

property cache_size

Returns the cache size of the first CPU.

Type:

str

property cpu_count

Returns the number of CPUs.

Type:

int

property cpu_speed

Returns the CPU speed of the first CPU.

Type:

str

property flags

Returns a list of feature flags for the first CPU.

Type:

list

get_processor_by_index(index)[source]

Construct a dictionary of the information stored for the given CPU.

Parameters:

index (int) -- The CPU index to retrieve.

Returns:

A dictionary of the information for that CPU.

Return type:

dict

property microcode

Returns the microcode of the first CPU.

Type:

str

property model_name

Returns the model name of the first CPU.

Type:

str

property model_number

Returns the model ID of the first CPU.

Type:

str

parse_content(content)[source]

This method must be implemented by classes based on this class.

property socket_count

Returns the number of sockets. This is distinct from the number of CPUs.

Type:

int

property vendor

Returns the vendor of the first CPU.

Type:

str