Use parsed data in cpu count
This commit is contained in:
parent
1b2769996a
commit
52ecd2dc53
14
agent.py
14
agent.py
|
@ -101,15 +101,11 @@ class ServerData:
|
|||
|
||||
def get_cpu_count(self):
|
||||
cpu_count = 0
|
||||
if os.path.isfile('/usr/sbin/dmidecode'):
|
||||
try:
|
||||
output = subprocess.check_output(['sudo', '/usr/sbin/dmidecode', '-t', 'processor']).decode('utf-8')
|
||||
core_match = re.search(r'Core Count: (\d+)', output)
|
||||
thread_match = re.search(r'Thread Count: (\d+)', output)
|
||||
if core_match and thread_match:
|
||||
cpu_count = int(core_match.group(1)) * int(thread_match.group(1))
|
||||
except subprocess.CalledProcessError:
|
||||
pass
|
||||
for section in self.dmidecode_data:
|
||||
if section['DMIType'] == 4: # 4 corresponds to processor
|
||||
core_count = int(section.get('Core Count', '0'))
|
||||
thread_count = int(section.get('Thread Count', '0'))
|
||||
cpu_count = core_count * thread_count
|
||||
if cpu_count == 0:
|
||||
with open('/proc/cpuinfo', 'r') as f:
|
||||
cpuinfo = f.read()
|
||||
|
|
Loading…
Reference in New Issue
Block a user