利用 Python 详细计算 Windows 的内存占用情况

其实是利用了 Python 调用 PowerShell 的命令 tasklist,然后手动计算。

所以,这篇博客的关键词还可以是如何在 Python 中执行 PowerShell 的命令。

代码是比较简单的,也是想放在 Gist 上的本来,可惜,不太方便呀。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import locale
import subprocess
import sys

p = subprocess.Popen(['C:\\Program Files\\PowerShell\\7\\pwsh', '-Command', 'tasklist > tmp.txt'],
stdout=sys.stdout, encoding='utf8')
p.communicate()

locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')

with open('./tmp.txt', encoding='utf8') as f:
lines = f.readlines()

numsList = []
index = 0
totalSize = 0
for line in lines:
if (index < 3):
index += 1
continue
curLine = line.split()
numsList.append(curLine[-2])
curNum = locale.atoi(curLine[-2])
totalSize += curNum
index += 1

print('The memory usesage:')
print(' ' + str(totalSize) + " KB")
totalSizeMB = totalSize / 1024
print(' ' + str(totalSizeMB) + " MB")
totalSizeGB = totalSize / (1024 * 1024)
print(' ' + str(totalSizeGB) + " GB")
percentage = totalSizeGB / 64 * 100
print(' ' + str(percentage) + "%")

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!