리눅스 모니터링 도구

1 minute read

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