class Facter::Processors::Linux
Public Instance Methods
get_physical_processor_count()
click to toggle source
# File lib/facter/processors/os.rb, line 75 def get_physical_processor_count if count = count_physical_cpu_from_sysfs count else count_physical_cpu_from_cpuinfo end end
Private Instance Methods
count_physical_cpu_from_cpuinfo()
click to toggle source
# File lib/facter/processors/os.rb, line 95 def count_physical_cpu_from_cpuinfo str = Facter::Core::Execution.exec("grep 'physical.\+:' /proc/cpuinfo") if str str.scan(/\d+/).uniq.size else nil end end
count_physical_cpu_from_sysfs()
click to toggle source
# File lib/facter/processors/os.rb, line 85 def count_physical_cpu_from_sysfs sysfs_cpu_directory = "/sys/devices/system/cpu" if File.exists?(sysfs_cpu_directory) lookup_pattern = "#{sysfs_cpu_directory}" + "/cpu*/topology/physical_package_id" Dir.glob(lookup_pattern).collect { |f| Facter::Core::Execution.exec("cat #{f}")}.uniq.size else nil end end