pmonitor 1.2.0__tar.gz → 1.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. {pmonitor-1.2.0 → pmonitor-1.2.2}/PKG-INFO +1 -1
  2. pmonitor-1.2.2/monitor/DLL/GpuMonitorLib.dll +0 -0
  3. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/monitor_pids.py +58 -50
  4. {pmonitor-1.2.0 → pmonitor-1.2.2}/pmonitor.egg-info/PKG-INFO +1 -1
  5. {pmonitor-1.2.0 → pmonitor-1.2.2}/setup.py +1 -1
  6. pmonitor-1.2.0/monitor/DLL/GpuMonitorLib.dll +0 -0
  7. {pmonitor-1.2.0 → pmonitor-1.2.2}/README.md +0 -0
  8. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/KernelBase.dll +0 -0
  9. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/__init__.py +0 -0
  10. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/advapi32.dll +0 -0
  11. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/bcrypt.dll +0 -0
  12. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/kernel.appcore.dll +0 -0
  13. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/kernel32.dll +0 -0
  14. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/msvcirt.dll +0 -0
  15. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/msvcp140.dll +0 -0
  16. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/ntdll.dll +0 -0
  17. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/pdh.dll +0 -0
  18. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/rpcrt4.dll +0 -0
  19. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/sechost.dll +0 -0
  20. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/ucrtbased.dll +0 -0
  21. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/vcruntime140.dll +0 -0
  22. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/DLL/vcruntime140_1.dll +0 -0
  23. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/WinPidUtil.py +0 -0
  24. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/__init__.py +0 -0
  25. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/exec/GpuMonitor +0 -0
  26. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/exec/__init__.py +0 -0
  27. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/get_process_name.py +0 -0
  28. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/monitor_mac.py +0 -0
  29. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/monitor_win.py +0 -0
  30. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/run_monitor.py +0 -0
  31. {pmonitor-1.2.0 → pmonitor-1.2.2}/monitor/sys_info.py +0 -0
  32. {pmonitor-1.2.0 → pmonitor-1.2.2}/pmonitor.egg-info/SOURCES.txt +0 -0
  33. {pmonitor-1.2.0 → pmonitor-1.2.2}/pmonitor.egg-info/dependency_links.txt +0 -0
  34. {pmonitor-1.2.0 → pmonitor-1.2.2}/pmonitor.egg-info/entry_points.txt +0 -0
  35. {pmonitor-1.2.0 → pmonitor-1.2.2}/pmonitor.egg-info/top_level.txt +0 -0
  36. {pmonitor-1.2.0 → pmonitor-1.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: pmonitor
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: pc monitor
5
5
  Home-page: UNKNOWN
6
6
  Author: cfr
@@ -21,12 +21,12 @@ class PidsPerf:
21
21
 
22
22
  def get_mac_perf(self):
23
23
  current_pid = self.processUtil.find_main_process_pid(self.process_name)
24
- dll_path = os.path.join(os.path.dirname(__file__), 'exec', 'GpuMonitor')
25
- if os.path.exists(dll_path):
26
- if not os.access(dll_path, os.X_OK):
24
+ gpu_tool = os.path.join(os.path.dirname(__file__), 'exec', 'GpuMonitor')
25
+ if os.path.exists(gpu_tool):
26
+ if not os.access(gpu_tool, os.X_OK):
27
27
  try:
28
- current_permissions = os.stat(dll_path).st_mode
29
- os.chmod(dll_path, current_permissions | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH)
28
+ current_permissions = os.stat(gpu_tool).st_mode
29
+ os.chmod(gpu_tool, current_permissions | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH)
30
30
  except Exception as e:
31
31
  raise e
32
32
  while True:
@@ -42,7 +42,7 @@ class PidsPerf:
42
42
  current_pids.add(current_pid) # 将主进程及子进程添加到list中
43
43
  pids_process = self.processUtil.get_pids_process(current_pids) # 获取所有进程
44
44
 
45
- result = subprocess.run([self.gpu_tool], stdout=subprocess.PIPE, text=True)
45
+ result = subprocess.run([gpu_tool], stdout=subprocess.PIPE, text=True)
46
46
  for line in result.stdout.split('\n'):
47
47
  pattern = r"GPU Name:(.*?),Device Percent:(.*?),Dedicated Usage:(\d+)"
48
48
  matches = re.findall(pattern, line)
@@ -128,9 +128,9 @@ class PidsPerf:
128
128
  process_io_counters_pre = {pid: pidWinPerf.get_io_counters(pid) for pid in child_pids}
129
129
 
130
130
  dll_path = os.path.join(os.path.dirname(__file__), 'DLL', 'GpuMonitorLib.dll')
131
- gpu_monitor_dll = CDLL(dll_path)
132
- gpu_monitor_dll.GetGpuUtilizationByPid.argtypes = [c_int]
133
- gpu_monitor_dll.GetGpuUtilizationByPid.restype = c_char_p
131
+ gpu_monitor_dll = ctypes.CDLL(dll_path)
132
+ gpu_monitor_dll.GetGPUDataForProcess.argtypes = [ctypes.c_ulong]
133
+ gpu_monitor_dll.GetGPUDataForProcess.restype = ctypes.c_char_p
134
134
  while True:
135
135
  minor_cpu_sum = 0
136
136
  minor_workSet_mem_sum = 0
@@ -143,6 +143,10 @@ class PidsPerf:
143
143
  minor_gpu_system_sum = 0 # (共享内存)
144
144
  minor_gpu_committed_sum = 0 # (总使用内存)
145
145
  minor_gpu_percent_sum = 0 # (GPU内存占比)
146
+ main_gpu_dedicated_sum = 0 # (专用内存)
147
+ main_gpu_system_sum = 0 # (共享内存)
148
+ main_gpu_committed_sum = 0 # (总使用内存)
149
+ main_gpu_percent_sum = 0 # (GPU内存占比)
146
150
 
147
151
  current_pids = self.processUtil.get_children_pids(p_pid) # 获取所有子进程
148
152
  current_pids.add(p_pid) # 将主进程及子进程添加到list中
@@ -186,7 +190,7 @@ class PidsPerf:
186
190
  pid].ReadTransferCount) / self.interval
187
191
  write_bytes_sec = (io_counters.WriteTransferCount - process_io_counters_pre[
188
192
  pid].WriteTransferCount) / self.interval
189
- gpu_info_json = gpu_monitor_dll.GetGpuUtilizationByPid(pid).decode()
193
+ gpu_info_json = gpu_monitor_dll.GetGPUDataForProcess(pid).decode()
190
194
  gpu_info = json.loads(gpu_info_json)
191
195
  if process_cpu_time_post:
192
196
  # 计算CPU使用率
@@ -197,28 +201,30 @@ class PidsPerf:
197
201
  workSet_mem = round(memory_info.WorkingSetSize / 1024 / 1024, 2) # MB
198
202
  private_mem = round(memory_info.PrivateUsage / 1024 / 1024, 2) # MB
199
203
  if pid == p_pid:
200
- if gpu_info['GPUUtilizationPercent'] < 0:
201
- gpu_Dedicated = 0
202
- gpu_System = 0
203
- gpu_Committed = 0
204
- gpu_Usage = 0
205
- # print('主进程pid:', gpu_info['ProcessID'], 'Dedicated:', 0,
206
- # 'System:', 0,
207
- # 'Committed:', 0, 'GPU Usage:',
208
- # 0)
209
- else:
210
- gpu_Dedicated = gpu_info['GPUProcessMemoryLocalUsage']
211
- gpu_System = gpu_info['GPUProcessMemorySharedUsage']
212
- gpu_Committed = gpu_info['GPUProcessMemoryTotalCommitted']
213
- gpu_Usage = gpu_info['GPUUtilizationPercent']
214
- # print('主进程pid:', gpu_info['ProcessID'], 'Dedicated:',
215
- # gpu_info['GPUProcessMemoryLocalUsage'],
216
- # 'System:', gpu_info['GPUProcessMemorySharedUsage'],
217
- # 'Committed:', gpu_info['GPUProcessMemoryTotalCommitted'], 'GPU Usage:',
218
- # gpu_info['GPUUtilizationPercent'])
204
+
205
+ for item in gpu_info:
206
+ if item['ProcessID'] == p_pid:
207
+ if item['GPUUtilizationPercent'] < 0:
208
+ print('主进程pid:', item['ProcessID'], 'Dedicated:', 0,
209
+ 'System:', 0,
210
+ 'Committed:', 0, 'GPU Usage:',
211
+ 0)
212
+ main_gpu_dedicated_sum += 0
213
+ main_gpu_system_sum += 0
214
+ main_gpu_committed_sum += 0
215
+ else:
216
+ print('主进程pid:', item['ProcessID'], 'Dedicated:',
217
+ item['GPUProcessMemoryLocalUsage'],
218
+ 'System:', item['GPUProcessMemorySharedUsage'],
219
+ 'Committed:', item['GPUProcessMemoryTotalCommitted'], 'GPU Usage:',
220
+ item['GPUUtilizationPercent'])
221
+ main_gpu_dedicated_sum += item['GPUProcessMemoryDedicatedUsage'] # (专用内存)
222
+ main_gpu_system_sum += item['GPUProcessMemorySharedUsage'] # (共享内存)
223
+ main_gpu_committed_sum += item['GPUProcessMemoryTotalCommitted'] # (总使用内存)
224
+ main_gpu_percent_sum += item['GPUUtilizationPercent'] # (GPU内存占比)
219
225
  main_data = {'cpu': cpu_usage, 'private': private_mem, "workset": workSet_mem,
220
- 'gpu_Dedicated': round(gpu_Dedicated, 2), 'gpu_System': round(gpu_System, 2),
221
- 'gpu_Committed': round(gpu_Committed, 2), 'gpu_Usage': round(gpu_Usage, 2)}
226
+ 'gpu_Dedicated': round(main_gpu_dedicated_sum, 2), 'gpu_System': round(main_gpu_system_sum, 2),
227
+ 'gpu_Committed': round(main_gpu_committed_sum, 2), 'gpu_Usage': round(main_gpu_percent_sum, 2)}
222
228
 
223
229
  # print(
224
230
  # f'主进程数据:cpu:{cpu_usage},workSet:{workSet_mem},private:{private_mem},mem_percent:{mem_percent},thread_count:{thread_count}')
@@ -228,25 +234,27 @@ class PidsPerf:
228
234
  minor_private_mem_sum += private_mem # 子进程private内存
229
235
  minor_mem_percent_sum += mem_percent # 子进程内存使用率
230
236
  minor_thread_count_sum += thread_count # 子进程线程总数
231
- if gpu_info['GPUUtilizationPercent'] < 0:
232
- # print('子进程pid:', gpu_info['ProcessID'], 'Dedicated:', 0,
233
- # 'System:', 0,
234
- # 'Committed:', 0, 'GPU Usage:',
235
- # 0)
236
- minor_gpu_dedicated_sum += 0
237
- minor_gpu_system_sum += 0
238
- minor_gpu_committed_sum += 0
239
- minor_gpu_percent_sum += 0
240
- else:
241
- # print('子进程pid:', gpu_info['ProcessID'], 'Dedicated:',
242
- # gpu_info['GPUProcessMemoryLocalUsage'],
243
- # 'System:', gpu_info['GPUProcessMemorySharedUsage'],
244
- # 'Committed:', gpu_info['GPUProcessMemoryTotalCommitted'], 'GPU Usage:',
245
- # gpu_info['GPUUtilizationPercent'])
246
- minor_gpu_dedicated_sum += gpu_info['GPUProcessMemoryLocalUsage']
247
- minor_gpu_system_sum += gpu_info['GPUProcessMemorySharedUsage']
248
- minor_gpu_committed_sum += gpu_info['GPUProcessMemoryTotalCommitted']
249
- minor_gpu_percent_sum += gpu_info['GPUUtilizationPercent']
237
+ for item in gpu_info:
238
+ if item['ProcessID'] != p_pid:
239
+ if item['GPUUtilizationPercent'] < 0:
240
+ print('子进程pid:', item['ProcessID'], 'Dedicated:', 0,
241
+ 'System:', 0,
242
+ 'Committed:', 0, 'GPU Usage:',
243
+ 0)
244
+ minor_gpu_dedicated_sum += 0
245
+ minor_gpu_system_sum += 0
246
+ minor_gpu_committed_sum += 0
247
+ minor_gpu_percent_sum += 0
248
+ else:
249
+ print('子进程pid:', item['ProcessID'], 'Dedicated:',
250
+ item['GPUProcessMemoryLocalUsage'],
251
+ 'System:', item['GPUProcessMemorySharedUsage'],
252
+ 'Committed:', item['GPUProcessMemoryTotalCommitted'], 'GPU Usage:',
253
+ item['GPUUtilizationPercent'])
254
+ minor_gpu_dedicated_sum += item['GPUProcessMemoryLocalUsage']
255
+ minor_gpu_system_sum += item['GPUProcessMemorySharedUsage']
256
+ minor_gpu_committed_sum += item['GPUProcessMemoryTotalCommitted']
257
+ minor_gpu_percent_sum += item['GPUUtilizationPercent']
250
258
  minor_io_read_sum += read_bytes_sec # 所有进程IO读取速率总数
251
259
  minor_io_write_sum += write_bytes_sec # 所有进程IO写入速率总数
252
260
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: pmonitor
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: pc monitor
5
5
  Home-page: UNKNOWN
6
6
  Author: cfr
@@ -5,7 +5,7 @@ with open('README.md', 'r') as f:
5
5
  long_description = f.read()
6
6
 
7
7
  setup(name='pmonitor',
8
- version='1.2.0',
8
+ version='1.2.2',
9
9
  description='pc monitor',
10
10
  long_description=long_description,
11
11
  author='cfr',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes