# 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
# 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
# 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