Commit f91765a8c68d6056af3e262a8e012878ccd23ab0
1 parent
ac4e274c
Exists in
master
and in
68 other branches
ENH: Implemented get physical memory amount with sigar lib
Showing
1 changed file
with
11 additions
and
25 deletions
Show diff stats
invesalius/utils.py
| @@ -20,6 +20,7 @@ import os | @@ -20,6 +20,7 @@ import os | ||
| 20 | import platform | 20 | import platform |
| 21 | import subprocess | 21 | import subprocess |
| 22 | import re | 22 | import re |
| 23 | +import sigar | ||
| 23 | import sys | 24 | import sys |
| 24 | 25 | ||
| 25 | if sys.platform == 'win32': | 26 | if sys.platform == 'win32': |
| @@ -95,12 +96,11 @@ def frange(start, end=None, inc=None): | @@ -95,12 +96,11 @@ def frange(start, end=None, inc=None): | ||
| 95 | 96 | ||
| 96 | def PredictingMemory(qtd, x, y, p): | 97 | def PredictingMemory(qtd, x, y, p): |
| 97 | m = qtd * (x * y * p) | 98 | m = qtd * (x * y * p) |
| 99 | + #physical_memory in Byte | ||
| 100 | + physical_memory = GetPhysicalMemoryAmount() | ||
| 98 | 101 | ||
| 99 | if (sys.platform == 'win32'): | 102 | if (sys.platform == 'win32'): |
| 100 | 103 | ||
| 101 | - #physical_memory in Byte | ||
| 102 | - physical_memory = GetWindowsInformation()[0] | ||
| 103 | - | ||
| 104 | if (platform.architecture()[0] == '32bit'): | 104 | if (platform.architecture()[0] == '32bit'): |
| 105 | #(314859200 = 300 MB) | 105 | #(314859200 = 300 MB) |
| 106 | #(26999999 = 25 MB) | 106 | #(26999999 = 25 MB) |
| @@ -133,8 +133,6 @@ def PredictingMemory(qtd, x, y, p): | @@ -133,8 +133,6 @@ def PredictingMemory(qtd, x, y, p): | ||
| 133 | 133 | ||
| 134 | elif(sys.platform == 'linux2'): | 134 | elif(sys.platform == 'linux2'): |
| 135 | 135 | ||
| 136 | - physical_memory = GetLinuxInformation()[0] | ||
| 137 | - | ||
| 138 | if (platform.architecture()[0] == '32bit'): | 136 | if (platform.architecture()[0] == '32bit'): |
| 139 | # 839000000 = 800 MB | 137 | # 839000000 = 800 MB |
| 140 | if (m <= 839000000) and (physical_memory <= 2147483648): | 138 | if (m <= 839000000) and (physical_memory <= 2147483648): |
| @@ -171,27 +169,15 @@ def BytesConvert(bytes): | @@ -171,27 +169,15 @@ def BytesConvert(bytes): | ||
| 171 | return str(bytes) + ' bytes' | 169 | return str(bytes) + ' bytes' |
| 172 | 170 | ||
| 173 | 171 | ||
| 174 | -def GetWindowsInformation(): | ||
| 175 | - computer = wmi.WMI() | ||
| 176 | - for i in computer.Win32_ComputerSystem (): | ||
| 177 | - memory = int(i.TotalPhysicalMemory) | ||
| 178 | - | ||
| 179 | - information = (memory,) | ||
| 180 | - | ||
| 181 | - return information | ||
| 182 | - | 172 | +def GetPhysicalMemoryAmount(): |
| 173 | + """ | ||
| 174 | + Return physical memory amount in bytes | ||
| 175 | + """ | ||
| 176 | + sg = sigar.open() | ||
| 177 | + mem = sg.mem() | ||
| 178 | + sg.close() | ||
| 179 | + return int(mem.total()) | ||
| 183 | 180 | ||
| 184 | -def GetDarwinInformation(): | ||
| 185 | - memory = 2.0 | ||
| 186 | - return (memory) | ||
| 187 | 181 | ||
| 188 | 182 | ||
| 189 | -def GetLinuxInformation(): | ||
| 190 | - #Getting memory | ||
| 191 | - with open('/proc/meminfo') as f: | ||
| 192 | - for i in f: | ||
| 193 | - if i.startswith('MemTotal'): | ||
| 194 | - # To translate from KB to Bytes | ||
| 195 | - mem = int(i.split()[1]) * 1024 | ||
| 196 | 183 | ||
| 197 | - return (mem,) |