strace : 시스템 콜을 추적하기 위한 도구
pid : 실행중인 프로세스에 할당되어있는 고유번호
strace 기본 사용법
- $ strace <commend(명령어)>
- $ strace -p <pid번호>
시스템 호출 결과를 콘솔에 출력하지 않고 파일로 저장
- $ strace -o <output파일명>.txt <commend명령어>
생성된 파일을 다음과 같이 열어볼 수 있음.
시간과 시스템 호출 결과 출력
- $ strace -t ls : 타임스탬프
- $ strace -tt ls : 타임스탬프를 밀리세컨드까지 보여줌
- $ strace -T ls : 각 시스템 호출 소요 시간
시스템 콜 요약 결과 출력
- $ strace -c <command명령어>
$ whoami : 현재 사용자의 이름을 출력
실행 파일의 시스템 호출결과 필터링
$ strace -e trace=opne,read ls
프로그램이 실행되는 과정에서 시스템 콜은 빈번하게 호출되기 때문에 불필요하게 많이 호출하는 것은 당연히 성능에 좋지 않을 것이다. 어떤 프로그램의 성능을 밑단까지 끌어올릴려면 불필요한 시스템 콜이 얼마나 호출되었고 시간이 소요되었는지를 볼 수 있어야할 것이다. 이 과정에서 strace 도구는 유용하게 사용될 수 있다.
'CS > 운영체제' 카테고리의 다른 글
[OS] CPU 스케줄링 (0) | 2023.09.08 |
---|---|
[OS] 스레드 (0) | 2023.09.08 |
[OS] 프로세스 생성과 상태 (0) | 2023.09.07 |
[OS] 커널 영역과 사용자 영역의 프로세스 (0) | 2023.09.07 |
[OS] 운영체제 거시적으로 보기 (0) | 2023.09.07 |
댓글