def _darwin_physical_processor_count(): # For MacOS X we can use sysctl. command = ['/usr/sbin/sysctl', '-n', 'hw.physicalcpu'] try: return int(_execute_program(command, stderr=subprocess.PIPE)) except subprocess.CalledProcessError: pass except ValueError: pass
def _darwin_physical_processor_count(): # For MacOS X we can use sysctl. physical_processor_cmd = ['/usr/sbin/sysctl', '-n', 'hw.packages'] try: num_physical_processors = int(_execute_program(physical_processor_cmd, stderr=subprocess.PIPE)) except (subprocess.CalledProcessError, ValueError): num_physical_processors = None physical_core_cmd = ['/usr/sbin/sysctl', '-n', 'hw.physicalcpu'] try: num_physical_cores = int(_execute_program(physical_core_cmd, stderr=subprocess.PIPE)) except (subprocess.CalledProcessError, ValueError): num_physical_cores = None return (num_physical_processors, num_physical_cores)
def _darwin_total_physical_memory(): # For MacOS X we can use sysctl. The value queried from sysctl is # always bytes. command = ['/usr/sbin/sysctl', '-n', 'hw.memsize'] try: return float(_execute_program(command, stderr=subprocess.PIPE)) / (1024*1024) except subprocess.CalledProcessError: pass except ValueError: pass