리눅스 모니터링 도구
Published:
bpytop
bpytop이라는 모니터링툴을 발견해서 간단히 포스팅 해보자.
Resource monitor that shows usage and stats for processor, memory, disks, network and processes.
CPU, 메모리, 디스크, 네트워크, 프로세스
를 모니터링 해주는 도구이다.
무엇보다 UI가 기가막히다..
bashtop
의 다음 버전이기도하다.
어떻게 만든걸까 궁금해서 소스를 살짝 봤는데, 리눅스 커맨드 공부도 되고 좋았다. CPU, 메모리, 디스크, 네트워크, 프로세스
를 어떻게 조회한건지 위주로 살펴보았다.
CPU
사용된 명령어 모음:
>>> import os
>>> import psutil
>>> psutil.sensors_battery()
sbattery(percent=38, secsleft=<BatteryTime.POWER_TIME_UNLIMITED: -2>, power_plugged=True)
>>> psutil.cpu_percent(percpu=False)
13.6
>>> psutil.cpu_percent(percpu=True)
[28.2, 2.3, 23.5, 2.1, 21.0, 2.0, 19.0, 1.9]
>>> os.getloadavg()
(2.01513671875, 1.87646484375, 1.9736328125)
$ sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
Memory And Disks
사용된 명령어 모음:
>>> psutil.virtual_memory()
svmem(total=8589934592, available=2402983936, percent=72.0, used=4307611648, free=203603968, active=2172690432, inactive=2168094720, wired=2134921216)
>>>
>>> psutil.swap_memory()
sswap(total=4294967296, used=2924740608, free=1370226688, percent=68.1, sin=17563742208, sout=319148032)
>>>
>>> for disk in psutil.disk_partitions():
... disk_u = psutil.disk_usage(disk.mountpoint)
... u_percent = round(disk_u.percent)
... print(u_percent)
... print(disk_u)
...
92
sdiskusage(total=250685575168, used=224772915200, free=19849572352, percent=91.9)
21
sdiskusage(total=250685575168, used=5369032704, free=19849572352, percent=21.3)
Network
사용된 명령어 모음:
>>> psutil.net_io_counters(pernic=True)
{'lo0': snetio(bytes_sent=845207552, bytes_recv=845207552, packets_sent=195971, packets_recv=195971, errin=0, errout=0, dropin=0, dropout=0),
...
Process
사용된 명령어 모음:
>>> psutil.process_iter()
<generator object process_iter at 0x108b6ea50>
마무리
소스를 살짝 보며, psutil과 운영체제 공부도 되는 좋은 경험이었다.
- swap 메모리 개념
- memory의 cache, free 개념
다음엔 이 내용들을 포스팅하며 개인적으로 부족한 내용들 공부해야겠다.
느낀점
psutil
로 다 할 수 있구나.- swap 메모리는 고정 값이 아니다. (2GB, 3GB, 4GB 막 변하네)
잘 만들었네.. 나도 나중에 이런거 만들어야지
Comments