
리눅스를 사용하다 보면 현재 시스템에서 어떤 프로그램이 실행되고 있는지 확인해야 할 때가 있다. 특히 서버를 운영하거나 개발 환경에서 작업을 하다 보면 CPU 사용량이 갑자기 높아지거나, 특정 프로그램이 과도하게 메모리를 사용하는 상황을 자주 마주하게 된다.
이럴 때 필요한 것이 바로 프로세스 확인 명령어다. 리눅스에서는 실행 중인 프로그램을 프로세스(Process) 라고 부르며, 이를 확인하고 관리할 수 있는 다양한 명령어를 제공한다.
이번 글에서는 리눅스에서 가장 많이 사용하는 프로세스 확인 명령어인 ps, top, htop에 대해 알아보도록 하겠다.
프로세스란 무엇인가
프로세스는 쉽게 말해 현재 실행 중인 프로그램이다.
예를 들어 다음과 같은 프로그램들은 모두 프로세스 형태로 동작한다.
- 웹 서버 (nginx, apache)
- 데이터베이스 (mysql, postgres)
- SSH 서버
- 사용자가 실행한 프로그램
리눅스에서는 이런 프로세스들을 확인하고 관리하기 위해 여러 명령어를 제공한다. 대표적으로 많이 사용하는 것이 바로 다음 세 가지다.
- ps
- top
- htop
ps 명령어
ps 명령어는 현재 실행 중인 프로세스를 확인하는 가장 기본적인 명령어다. 가장 많이 사용하는 형태는 다음과 같다.
ps aux
실행 결과는 보통 다음과 같이 나온다.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME. COMMAND
root 1 0.0 0.1 225984 9388 ? Ss 10:00 0:02. /sbin/init
ubuntu 1234 0.3 1.2 455632 24532 ? S 10:10 0:05. nginx
각 항목의 의미는 다음과 같다.
| USER | 프로세스를 실행한 사용자 |
| PID | 프로세스 ID |
| %CPU | CPU 사용률 |
| %MEM | 메모리 사용률 |
| COMMAND | 실행된 명령어 |
특히 PID(Process ID) 는 나중에 프로세스를 종료할 때 사용된다. 잘 기억해 두자.
특정 프로세스 찾기
실무에서는 특정 프로세스를 찾기 위해 grep과 함께 사용하는 경우가 많다. 예를 들어 nginx 프로세스를 찾고 싶다면 다음과 같이 입력한다.
ps aux | grep nginx
이 명령어는 실행 중인 프로세스 목록에서 nginx가 포함된 항목만 필터링해서 보여준다.
top 명령어
top 명령어는 실시간으로 시스템 상태를 확인할 수 있는 명령어다. 다음과 같이 실행할 수 있다.
top
실행하면 다음과 같은 정보를 확인할 수 있다.
CPU 사용률
메모리 사용량
실행 중인 프로세스 목록
시스템 부하(load average)
특히 CPU나 메모리를 많이 사용하는 프로세스를 확인할 때 매우 유용하다. top 화면에서 사용할 수 있는 주요 단축키는 다음과 같다.
| P | CPU 사용량 기준 정렬 |
| M | 메모리 사용량 기준 정렬 |
| k | 프로세스 종료 |
| q | 종료 |
htop 명령어
htop은 top 명령어보다 좀 더 직관적인 인터페이스를 제공하는 도구다. 다만 기본적으로 설치되어 있지 않은 경우가 많기 때문에 먼저 설치해야 한다.
Ubuntu 기준 설치 방법
sudo apt install htop
위 명령어를 통해 설치가 완료 된 후 아래 명령어로 실행하면 된다.
htop
htop의 특징은 다음과 같다.
색상이 적용된 UI
마우스 사용 가능
프로세스 트리 구조 확인
CPU / 메모리 사용량 직관적 표시
위와 같은 특징으로 top보다 보기 편하기 때문에 많은 개발자들이 htop을 선호한다. 필자도 htop을 더 선호하는 편이다.
프로세스 종료하기
문제가 되는 프로세스를 종료할 때는 kill 명령어를 사용한다. 예를 들어 PID가 1234인 프로세스를 종료하려면 다음과 같이 입력한다.
kill 1234
만약 정상적으로 종료되지 않는다면 다음 명령어를 사용할 수도 있다. 위 명령어가 단순 프로세스 종료라면 아래 명령어는 강제 종료에 해당하는 명령어다.
kill -9 1234
다만 늘 그렇듯 강제 종료는 예상치 못한 문제가 발생할 수 있기 때문에 주의해서 사용하는 것이 좋다.
정리
리눅스에서 시스템 상태를 확인하거나 서버를 관리할 때 프로세스 확인은 매우 중요한 작업이다.
이번 글에서 소개한 명령어를 정리하면 다음과 같다.
| 명령어 | 용도 |
| ps | 실행 중인 프로세스 목록 확인 |
| top | 실시간 시스템 상태 확인 |
| htop | 개선된 프로세스 관리 도구 |
리눅스를 사용하다 보면 CPU 사용량이 갑자기 높아지거나 서버가 느려지는 상황을 겪게 된다. 이럴 때 ps와 top 명령어만 제대로 알고 있어도 문제 원인을 빠르게 파악할 수 있다.
다음 글에서는 리눅스 네트워크 상태를 확인하는 명령어(netstat / ss) 에 대해 알아보도록 하겠다.
'개발 > Linux' 카테고리의 다른 글
| 리눅스 디스크 용량 확인 방법 (df / du 명령어 사용법) (0) | 2026.03.06 |
|---|---|
| 리눅스 네트워크 확인 명령어(netstat / ss / ping) (0) | 2026.03.05 |
| Ubuntu 24.04 최신 기능 정리 & 업그레이드 방법 (0) | 2025.03.13 |
| 리눅스 tail 명령어 사용법 (tail -f 로그 실시간 확인) (0) | 2019.10.10 |
| 리눅스 find grep 명령어 사용법 (파일 찾기와 내용 검색) (4) | 2019.10.08 |
댓글