리눅스를 사용하다 보면 갑자기 서버가 느려지거나, CPU 사용률이 100%를 찍고 시스템이 멈추는 일이 종종 생깁니다.
이럴 땐 당황하지 말고, 가장 먼저 프로세스부터 점검하는 습관을 들이셔야 해요.
오늘은 실제 현업에서도 매일같이 사용하는 세 가지 명령어, ps, top, kill을 활용해 서버를 빠르게 진단하고 조치하는 방법을 소개할게요.
1. ps 명령어: 현재 실행 중인 프로세스 확인하기
ps
는 리눅스에서 현재 실행 중인 프로세스들을 확인할 수 있는 기본 명령어입니다.
가장 많이 쓰이는 옵션 조합은 ps aux
인데요, 이 한 줄만 입력하면 전체 사용자 프로세스의 PID, CPU/메모리 점유율, 시작 시간, 실행 명령어까지 한눈에 확인할 수 있어요.
ps aux | grep nginx
이렇게 grep
을 조합하면 특정 프로세스만 빠르게 찾을 수 있어요. 웹 서버가 느려질 땐 nginx나 apache 같은 키워드로 필터링해보세요.
2. top 명령어: 실시간 시스템 리소스 모니터링

top
은 리눅스 시스템의 상태를 실시간으로 확인할 수 있는 명령어입니다. CPU, 메모리 사용률이 높은 순으로 프로세스를 보여줘서 서버가 느릴 때 가장 먼저 확인해야 할 도구예요.
기본 실행 방법은 아래와 같습니다.
top
실행 후 유용한 단축키는 다음과 같아요:
P
: CPU 사용률 기준 정렬M
: 메모리 사용률 기준 정렬k
: 프로세스 종료(PID 입력 후)q
: top 종료
특정 프로세스만 집중해서 보고 싶을 때는 이렇게 입력해요.
top -p 12345 # PID가 12345인 프로세스만 보기
3. kill 명령어: 문제 프로세스 안전하게 종료하기

프로세스를 종료할 때는 kill
명령어를 사용합니다. 종료 방식은 여러 가지가 있는데, 가장 흔히 쓰는 건 kill -9
과 kill -15
입니다.
kill 12345
: 정상 종료 시도 (SIGTERM)kill -15 12345
: 안전하게 종료 시도kill -9 12345
: 강제 종료 (SIGKILL)pkill nginx
: 프로세스 이름으로 한 번에 종료
주의할 점은 -9
는 프로세스를 강제로 즉시 종료시켜서 데이터 유실이 생길 수 있으니, 꼭 필요할 때만 사용하세요.
4. 실무에서 자주 쓰는 조합 팁
현업에서는 아래 조합들이 정말 자주 사용돼요. 서버가 멈췄거나 느려졌을 때 바로 쓸 수 있도록 익혀두세요.
명령어 조합 | 설명 |
---|---|
ps aux | grep java | 자바 관련 프로세스 필터링 |
top -u username | 특정 사용자 프로세스만 보기 |
pkill -f node | 노드 관련 프로세스 전체 종료 |
kill -9 $(pidof firefox) | 브라우저 전체 강제 종료 |
5. htop도 한 번 써보세요
htop
은 top
의 시각화 버전이에요. 화려한 색상, 그래프, 방향키 조작이 가능해서 눈에 훨씬 잘 들어옵니다.
설치 방법은 배포판에 따라 다르지만 아래처럼 설치할 수 있어요.
sudo apt install htop # Ubuntu, Debian
sudo yum install htop # CentOS, RHEL
실행 후에는 방향키로 프로세스를 선택하고, F9
키로 종료, F6
키로 정렬 방식을 바꿀 수 있습니다.
6. 보너스: 포트 확인할 땐 lsof
서버가 느린데 원인을 못 찾겠다면, 혹시 포트 충돌은 아닐까요?
sudo lsof -i tcp:80
이렇게 입력하면 80번 포트를 누가 사용 중인지 바로 확인할 수 있어요. apache, nginx, 혹은 다른 프로세스가 해당 포트를 점유하고 있을 수도 있습니다.
리눅스 서버는 한 번만 느려져도 전체 서비스에 영향을 줄 수 있어요. 그래서 프로세스를 빠르게 진단하고 조치할 수 있는 능력이 무엇보다 중요합니다.
오늘 소개한 ps
, top
, kill
, 그리고 htop
, lsof
는 바로 그 첫걸음을 위한 도구예요. 터미널에 익숙해지는 가장 좋은 방법은 반복해서 써보는 거예요. 문제가 생겼을 때 당황하지 않고 빠르게 대처할 수 있도록 이 명령어들은 꼭 즐겨찾기 해두세요.