Files

15 lines
1.0 KiB
Python

import subprocess,json,pathlib
def run(*a):return subprocess.check_output(a,text=True,stderr=subprocess.STDOUT)
print(run('nvidia-smi','--query-compute-apps=gpu_uuid,pid,process_name,used_gpu_memory','--format=csv,noheader'))
for name in run('docker','ps','--format','{{.Names}}').splitlines():
d=json.loads(run('docker','inspect',name))[0]
req=d['HostConfig'].get('DeviceRequests')
if req:
print(json.dumps({'name':name,'devices':req,'state':d['State']['Status'],'image':d['Config']['Image']},ensure_ascii=False))
for name in ('comfyui','h3-caption-gpu3-canary-8a5f'):
d=json.loads(run('docker','inspect',name))[0]
print(name,'security',{'user':d['Config']['User'],'readOnly':d['HostConfig']['ReadonlyRootfs'],'privileged':d['HostConfig']['Privileged'],'capAdd':d['HostConfig']['CapAdd'],'network':list(d['NetworkSettings']['Networks'])})
if name.startswith('h3-caption'):
for m in d['Mounts']:
if m['Destination']=='/run/h3-control': print('control',json.loads((pathlib.Path(m['Source'])/'control.json').read_text()))