PROJECT 05_컴퓨터의 정보 확인

김리나·2023년 1월 28일
0

CPU, 메모리, 디스크, 네트워크 등 컴퓨터의 정보를 확인하는 프로그램 만들기

컴퓨터의 정보 확인 코드

import psutil #컴퓨터의 정보를 확인할 때 사용하는 라이브러리

#CPU의 속도 출력
cpu = psutil.cpu_freq()
print(cpu)

#CPU의 물리코어 수를 출력
cpu_core = psutil.cpu_count(logical=False)
print(cpu_core)

#메모리의 정보 출력
memory = psutil.virtual_memory()
print(memory)

#디스크 정보 출력
disk = psutil.disk_partitions()
print(disk)

#네트워크를 통해 보내고 받은 데이터량 출력
net = psutil.net_io_counters
print(net)

필요한 정보만 출력하는 코드

import psutil

cpu = psutil.cpu_freq()
cpu_current_ghz = round(cpu.current / 1000, 2)
print(f"cpu 속도: {cpu_current_ghz}GHz")

cpu_core = psutil.cpu_count(logical=False)
print(f"코어: {cpu_core} 개" )

memory = psutil.virtual_memory()
memory_total = round(memory.total / 1024**3)
print(f'메모리: {memory_total}GB' )

disk = psutil.disk_partitions()
#디스크 여러개 있을 수 있으니 for문 이용해서 찾은 만큼 출력
for p in disk:
    print(p.mountpoint, p.fstype, end=' ')
    du = psutil.disk_usage(p.mountpoint)
    disk_total = round(du.total/1024**3)
    print(f'디스크크기: {disk_total}GB')

net = psutil.net_io_counters()
sent = round(net.bytes_sent/1024**2, 1)
recv = round(net.bytes_recv/1024**2, 1)
print(f'보내기: {sent}MB   받기: {recv}MB')

출력 결과

cpu 속도: 2.5GHz
코어: 4 개
메모리: 16GB
C:\ NTFS 디스크크기: 218GB
보내기: 10.4MB 받기: 177.8MB

1초당 반복해서 정보를 출력하는 코드

import psutil

curr_sent = 0
curr_recv = 0

prev_sent = 0
prev_recv = 0

while True:
    cpu_p = psutil.cpu_percent(interval=1)
    print(f'CPU사용량: {cpu_p}%')

    memory = psutil.virtual_memory()
    memory_avail = round(memory.available/1024**3, 1)
    print(f'사용 가능한 메모리: {memory_avail}GB')

    net = psutil.net_io_counters()
    curr_sent = net.bytes_sent/1024**2
    curr_recv = net.bytes_recv/1024**2

    sent = round(curr_sent-prev_sent, 1)
    recv = round(curr_recv-prev_recv, 1)

    print(f'보내기: {sent}MB   받기: {recv}MB')

    prev_sent = curr_sent
    prev_recv = curr_recv

출력결과

CPU사용량: 12.5%
사용 가능한 메모리: 7.3GB
보내기: 11.1MB 받기: 196.1MB
CPU사용량: 21.0%
사용 가능한 메모리: 7.3GB
보내기: 0.0MB 받기: 0.0MB
CPU사용량: 24.0%
사용 가능한 메모리: 7.3GB
보내기: 0.0MB 받기: 0.0MB

0개의 댓글