프로세스 관련 명령어

MySprtlty·2022년 7월 23일
0

Linux Command Line

목록 보기
3/8

🏷️실행중인 프로세스 출력

📌ps

  • cf) ps stands for process
  • 현재 시스템에서 실행중인 프로세스 정보를 출력한다.
  • default unit은 KibiBytes다.
  • 굉장히 많은 옵션이 있지만, 최근에 사용하는 옵션에 대해서만 정리한다.
  • 옵션
    • -e
      • cf) e stands for every process
      • 모든 프로세스를 출력한다.
    • -o
      -cf) o stands for output format
    • -f
      -cf) f stanfs for full-format
  • 자주 사용하는 조합
    • ps -ef
    • ps auxw
  • 🔍ex)
ps -eo pid,comm,vsz,rss,min_flt,maj_flt

🏷️프로세스를 특정 논리 CPU에 할당

📌taskset

  • -c옵션을 주면 지정한 프로세스를 특정 논리 CPU에만 할당 할 수 있다.
  • 🔍ex)
taskset -c 0 ./hello
taskset -c 0,4 ./hello

🏷️프로세스 수행 시간 측정

📌time

  • time명령어로 프로세스를 동작시키면, 프로세스 시작부터 종료까지의 시간 사이에 경과 시간과 사용 시간을 얻을 수 있다.

    시간 종류설명
    real (경과 시간)스톱워치로 프로세스 시작부터 종료까지 측정한 시간이다.
    user프로세스가 user mode에서 CPU를 사용한 시간이다.
    sys프로세스가 kernel mode에서 CPU를 사용한 시간이다.
  • 🖇️cf) 커널로 CPU를 자원이 넘어갈 때, 유저 프로세스가 커널 모드에서 동작한다고 얘기한다.

  • user + sys시간이 사용 시간이다.

  • 🔍ex)

time sleep 10
  • 🔍ex2)
time taskset -c 0,1 ./sched 4 10000 10000

🏷️시스템 콜 추적

📌strace

  • 🖇️cf) strace stands for system-call tracer
  • 프로세스가 어떤 시스템 콜을 호출했는지 출력한다.
  • 옵션
    • -o
      • 🖇️cf) o stands for output
      • 출력 내용을 저장할 파일을 지정한다.
    • -T
      • 🖇️cf) T stands for Time
      • micro second 단위로 system call 처리에 걸린 시간을 출력한다.
  • 🔍ex)
strace -o hello.log ./hello
profile
2Co 4:7

0개의 댓글