리눅스의 가장 큰 장점 중 하나는 시스템 자원을 매우 효율적으로 사용한다는 점입니다. 하지만 대규모 코드베이스를 컴파일하거나, 여러 개의 가상 머신을 동시에 실행하거나, 고사양 게임을 플레이하거나, 4K 영상을 편집하는 등 시스템에 큰 부하가 걸리는 상황도 얼마든지 발생합니다. 이런 경우에는 CPU 과열과 같은 문제를 예방하기 위해 시스템 자원 사용량을 수시로 확인하는 것이 좋습니다. 지금부터 리눅스에서 시스템 자원을 점검할 때 활용할 수 있는 최고의 시스템 모니터들을 소개합니다.
1. 시스템 모니터(System Monitor)
시스템 자원 사용량을 확인하는 가장 간단한 방법은 데스크톱 환경에 기본 탑재된 GUI 시스템 모니터를 이용하는 것입니다. 대부분의 데스크톱 환경에는 자체 모니터링 도구가 포함되어 있으며, 전반적인 자원 사용 현황을 파악하기에 충분히 쓸만합니다. 윈도우 작업 관리자처럼 여러 개의 탭으로 구성되어 있어, 화면 하나에 모든 정보가 몰려 있지 않고 항목별로 깔끔하게 정리된다는 점도 장점입니다.
다만 한 화면에서 모든 정보를 한꺼번에 보고 싶은 사용자에게는 다소 아쉬울 수 있습니다. 또한 측정값이 실제와 어긋나는 경우도 종종 있으므로, 중요한 판단을 내릴 때는 다른 도구로 교차 확인하는 습관을 들이는 것이 좋습니다.
2. Ytop
top은 거의 모든 리눅스 배포판에 기본 설치되어 있는 명령줄 기반 시스템 모니터링 도구지만, 기능이 상당히 기본적인 수준입니다. Ytop은 top보다 훨씬 발전된 프로그램으로, 화면 상단에 직관적인 CPU 그래프를 배치하고 읽기 쉬운 메모리 그래프를 제공합니다. 여기에 파일시스템 사용량, 네트워크 사용량, CPU 온도까지 함께 표시해 주며, 실행 중인 프로세스 목록은 화면 맨 아래로 내려 방해가 되지 않도록 배치했습니다.
갱신 속도가 빠르면서도 화면을 크게 차지하지 않아, 시스템 상태를 짧게 훑어보기에 매우 적합합니다. 무엇보다 자체적으로 소비하는 자원이 적어, 자원 배분에 신중해야 하는 오래된 저사양 시스템에서도 부담 없이 사용할 수 있습니다.
전반적으로 ytop은 이 목록에서 손꼽히는 시스템 모니터이므로, 한 번쯤 직접 사용해 볼 것을 강력히 추천합니다.
3. Cockpit
Cockpit으로 리눅스 시스템을 관리하는 방법은 이미 별도의 글로 다룬 바 있지만, 그만큼 훌륭한 도구이기에 다시 한번 소개할 가치가 있습니다. Cockpit은 웹 기반 도구로 원격 시스템 관리에 특히 유용하며, 로컬 시스템에서 사용할 때도 매우 단순하고 직관적인 인터페이스로 시스템을 손쉽게 관리할 수 있습니다.
메인 개요(Overview) 페이지에서는 시스템 자원 사용량 그래프를 확인할 수 있습니다. 그래프 자체는 심플하지만, 디스크 I/O나 네트워크 사용량 등을 깊이 있게 들여다볼 수 있는 다양한 메뉴가 마련되어 있습니다. 가상 머신이나 컨테이너 관리 기능까지 갖추고 있어 활용 범위가 넓습니다.
4. Netdata
Netdata 역시 웹 기반 리눅스 시스템 모니터로, 놀라울 정도로 강력한 도구입니다. 이 목록의 어떤 도구보다도 세밀한 정보를 제공하는데, 하드웨어 사용 현황을 자동으로 수집할 뿐 아니라 코어별 CPU 사용량 그래프, IPv4와 IPv6로 구분된 네트워크 패킷 추적 등 방대한 데이터를 실시간으로 보여줍니다.
특히 의존성 설치 외에는 사실상 명령 한 줄로 설치가 끝난다는 점이 매력적입니다. Docker 컨테이너 형태로도 제공되므로, 컨테이너 환경을 선호하는 사용자라면 간단한 명령으로 이미지를 받아 바로 실행할 수도 있습니다. Netdata는 초정밀한 자원 사용 통계를 제공할 뿐 아니라 알림(alert) 설정 기능까지 갖춘 훌륭한 도구입니다.
그 외 주목할 만한 도구들
아래 도구들도 각각의 이유로 목록에는 오르지 못했지만, 충분히 쓸모 있는 훌륭한 선택지입니다.
1. Htop
Htop은 top을 기반으로 하되 지나치게 복잡해지지 않도록 몇 가지 기능을 더 보완한 도구입니다. 시스템 성능을 확인하는 도구로서 리눅스 커뮤니티에서 사실상 표준처럼 자리 잡았습니다.
2. BashTOP
BashTOP은 ytop과 상당히 비슷하지만, 사용자 경험 면에서 꽤 뚜렷한 차이가 있습니다. 독특한 인터페이스 스타일을 가지고 있는데, 전반적인 사용성은 ytop이 조금 더 나은 편입니다. 다만 BashTOP의 CPU 사용량 리포팅은 정말 훌륭하므로, 그 부분 때문에라도 사용해 볼 만합니다.
3. Glances
Glances는 인터페이스가 다소 복잡한 편이지만, 시스템에 대한 폭넓고 유용한 정보를 제공하는 도구입니다. 이름 그대로 시스템 상태를 '한눈에(glance)' 파악하는 것이 목표입니다. 자원 사용량을 간결하게 보여주며, 특히 네트워크 세션 추적(여기서는 TCP 연결 상태를 표시)이 가장 손쉬운 도구로, 용도에 따라 큰 도움이 될 수 있습니다.
이제 시스템 자원 사용량을 확인하는 방법을 알았으니, 리눅스 시스템 성능 저하의 원인을 찾는 방법, 리눅스 PC 성능을 개선하는 방법, 그리고 리눅스에서 엔비디아 GPU를 모니터링하는 방법에 대한 가이드도 함께 확인해 보시기 바랍니다.