리눅스 서버를 운영하거나 관리하는 시스템 관리자에게 있어 실시간 사용자 상태와 시스템 부하를 한눈에 파악하는 것은 매우 중요합니다. 특히 여러 사용자가 동시에 시스템에 접속해 작업을 수행하는 환경에서는 각 유저의 세션, 실행 중인 프로세스, 시스템 부하 상태 등을 확인하는 기능이 필수적입니다. 이때 유용하게 활용되는 명령어가 바로 w입니다. w 명령어는 로그인한 사용자 정보와 현재 작업 상태, 시스템 부하 상태 등을 종합적으로 보여주는 실시간 모니터링 툴입니다. 이 글에서는 시스템 관리자 입장에서 w 명령어의 기능, 출력 항목, 활용 팁 등을 상세히 안내합니다.
로그인 유저 실시간 확인 - 프로세스 모니터링
w 명령어는 현재 시스템에 로그인한 사용자 정보를 빠르게 확인할 수 있게 해줍니다. 일반적인 who 명령어보다 더 많은 정보를 제공하며, 실시간 모니터링이 필요한 상황에 최적화된 도구입니다. 명령어를 입력하면 다음과 같은 항목이 출력됩니다:
- USER: 로그인한 사용자 이름
- TTY: 사용자 터미널 (예: pts/0)
- FROM: 로그인한 호스트 또는 IP 주소
- LOGIN@: 로그인한 시간
- IDLE: 사용자가 입력을 멈춘 시간
- JCPU: 터미널 전체에서 소비된 CPU 시간
- PCPU: 현재 실행 중인 프로세스의 CPU 사용 시간
- WHAT: 현재 실행 중인 명령어
또한, w -h 옵션을 사용하면 헤더 없이 깔끔하게 리스트만 출력되며, 스크립트 자동화에 유리합니다. 시스템 과부하 시 특정 사용자가 리소스를 과도하게 소비하고 있는지 확인할 때도 w 명령어는 첫 번째 점검 툴로 유용합니다.
시스템 부하 상태까지 한눈에 파악
w 명령어는 단순한 사용자 확인 기능을 넘어서 시스템 부하 상태도 같이 보여줍니다. 출력의 상단에는 다음과 같은 정보가 포함됩니다:
- 시스템 현재 시각
- 업타임(Uptime): 시스템이 켜져 있는 시간
- 로그인 사용자 수
- Load average (1분, 5분, 15분): CPU 부하 지표
예를 들어, load average: 0.75, 0.90, 1.20 과 같이 출력된다면, 시스템의 평균 부하가 점차 증가하고 있는 추세를 확인할 수 있습니다. 이를 통해 서버 증설 또는 부하 분산의 필요성을 판단할 수 있습니다.
활용 트렌드 및 실무 팁
최근에는 DevOps 환경에서도 w 명령어의 활용도가 높아지고 있습니다. 단일 명령어로 사용자와 시스템 상태를 동시에 확인할 수 있다는 점에서, CI/CD 서버나 원격 개발 환경에서도 필수 도구로 자리 잡고 있습니다.
- 보안 점검: 예상치 못한 사용자의 로그인 여부 확인
- 리소스 점검: 어떤 유저가 CPU를 집중적으로 사용하는지 확인
- 서버 부하 조사: 부하 발생 시 실시간 접속자 활동 확인
- 로그인 기록 자동화: w 명령어를 cron에 등록하여 주기적으로 상태 로그 저장
watch w 명령어를 활용하면 일정 간격으로 w 명령어를 실행해 실시간으로 사용자 상태를 모니터링할 수 있습니다. 보안적으로는 w 명령어 접근 권한을 제한하여 민감한 정보 노출을 막는 것도 중요합니다.
결론적으로, 시스템 관리자라면 w 명령어를 통해 사용자 세션, 실행 프로세스, 시스템 부하를 빠르게 점검하고 적절한 조치를 취할 수 있습니다. 지금 바로 w 명령어를 터미널에 입력해보고, 서버의 현재 상태를 직접 확인해 보세요.