[Linux/Ubuntu] 프로세스 확인 / 종료

주형(Jureamer)·2022년 12월 1일
0

개요

개인 프로젝트 용으로 작은 사이즈의 AWS EC2를 사용하다보면 프로세스가 확 튀어오르거나 꽉 찰 때가 종종 있습니다.

이럴 때 타이밍을 놓치면 서버가 뻗어버려 재부팅을 하기가 일쑤이기 때문에
이를 방지하고, 프로세스를 확인하고 종료하는 습관을 들이기 위해서 정리하게 되었습니다.

프로세스 확인

1. ps

1) ps -ef
실행 중인 프로세스 전체 목록 출력

2) ps -ef | grep 프로세스 이름
특정 이름으로 실행되고 있는 프로세스의 정보들만 출력

3) ps 옵션
-e: 현재 실행중인 모든 프로세스의 정보 출력
-f: 프로세스에 대한 자세한 정보 출력
-u: 특정 사용자에 대한 모든 프로세스의 정보 출력
-p: 특정 pid에 대한 정보를 출력
a: 터미널에서 실행한 프로세스의 정보 출력
u: 프로세스 소유자의 이름, CPU 및 메모리 사용량 등의 상세한 정보 출력
x: 실행 중인 모든 프로세스의 정보를 출력

2.top

  • 시스템의 상태를 전반적으로 가장 빠르게 파악 가능(CPU, Memory, Process)
  • 옵션 없이 입력하면 Interval 간격(기본 3초)로 화면을 갱신하며 정보를 보여줌

1) 실행 전 옵션
- -b: 순간의 정보를 확인 가능(batch 모드)
- -n: top 실행 주기 설정(반복 횟수)

2) top 실행 후 명령어

  • shift + p: CPU 사용률 내림차순
  • shift + m : 메모리 사용률 내림차순
  • shift + t: vㅡ로세스가 돌아가고 있는 시간 순
  • k: kill. k 입력 후 PID 번호 작성. signal은 9
  • f: sort filed 선택화면 -> q 누르면 RES 순으로 정렬
  • a: 메ㅔ모리 사용량에 따라 정렬
  • b: Batch 모드로 작동
  • 1: CPU Core별로 사용량 보여줌

3) pstop의 차이점

  • psps한 시점에 검색한 cpu 사용량
  • top은 일정 주기로 합산해 cpu 사용률 출력

4) 프로세스 상태 값 의미

  • load average: 현재 시스템이 얼마나 일을 하는 지 나타냄. 3개의 숫자는 1, 5, 15분 간의 평균 실행/대기 중인 프로세스의 수. CPU 코어수 보다 적으면 문제 없음
  • Tasks: 프로세스 개수
  • MiB Mem, Swap: 각 메모리이 사용량(단위: MB)
  • PR: 실행 우선순위 (1 ~ 139)
  • NI: 실행 우선순위에 영향을 주는 CPU 스케쥴링 값 (-20 ~ 19)
  • VIRT: 프로세스에 할당된 가상 메모리 전체 (SWAP + RES)
  • RES: 실제로 메모리에 올려서 사용하고 있는 물리 메모리
  • SHR: 다른 프로세스와 공유하고 있는 shared memory의 양
  • S: 프로세스 상태
    • D: Uninterruptiable sleep. 디스크 혹은 네트워크 I/O를 대기
    • R: 실행 중 (CPU 자원을 소모)
    • S: Sleeping 상태, 요청한 리소스를 즉시 사용 가능
    • T: Traced or Stopped. 보통의 시스템에서 자주 볼 수 없는 상태
    • Z: zombie. 부모 프로세스가 죽은 자식 프로세스
    • I: 유휴 프로세스

프로세스 종료

  • kill -i {PID}

참고

profile
작게라도 꾸준히 성장하는게 목표입니다.

0개의 댓글