이전 글에 이어서 작성하는 리눅스 프로세스 사용량 분석 응용 하기 방법입니다.
아래 글도 한번 읽어주시면 감사하겠습니다.
리눅스 프로세스 좀 더 잘 들여다보기 - htop 사용법
htop 기능의 활용
htop 을 실행하기 전 옵션을 활용하여 원하는 동작을 수행할 수도 있지만,
htop 실행 후에도 옵션에서 제공했던 기능들을 활용 가능합니다.
위에 보이는 htop 실행화면을 보면 F1 ~ F10 까지의 메뉴가 있으며,
아래와 같은 기능을 제공합니다.
- 화살표, Page Up, Page Down, Home, End: 프로세스 목록을 스크롤합니다.
- Space: 프로세스를 태그하거나 태그를 제거합니다.
- U: 모든 프로세스의 태그를 제거합니다 (Space 키로 추가한 모든 태그를 제거합니다).
- s: 프로세스의 시스템 호출을 추적합니다.
- F1: 도움말을 표시합니다.
- F2: 설정을 변경합니다.
- F3: 검색을 시작합니다.
- F4: 필터링을 시작합니다. 프로세스 명령어의 일부를 입력하면 이름이 일치하는 프로세스만 표시됩니다.
- F5: 트리 뷰를 표시합니다.
- F6: 정렬을 시작합니다.
- F7: 선택한 프로세스의 우선순위를 높입니다. 이 작업은 슈퍼유저만 수행할 수 있습니다.
- F8: 선택한 프로세스의 우선순위를 낮춥니다.
- F9: 프로세스를 종료합니다.
- F10: htop을 종료합니다.
Space: 프로세스를 태그하거나 태그를 제거
화살표를 통해 원하는 프로세스를 선택한 후 space 를 누르면 위 이미지와 같이 해당 프로세스에 태그가 생성됩니다.
U: 모든 프로세스의 태그를 제거합니다 (Space 키로 추가한 모든 태그를 제거합니다)
U 를 눌러서 만들었던 태그들을 모두 삭제 가능합니다.
s: 프로세스의 시스템 호출을 추적합니다.
프로세스중 하나를 선택해서 시스템 호출을 추적해 보니 Operation not permitted 라는 메시지를 출력합니다.
일반 계정으로는 불가한 것으로 보여 sudo를 이용해서 htop을 실행하고 다시 시도해 봅니다.
21496 process에 잘 붙어서 syscall 을 출력해주네요.
F1: 도움말을 표시합니다
도움말을 통해 상세한 설명을 확인할 수 있습니다.
색상별로, 키 별로 어떤 기능을 의미하는지 자세히 나타나 있네요.
F2: 설정을 변경합니다
htop 의 각종 설정을 담당합니다.
custom thread 명을 출력하거나, Tree view 설정을 하여 따로 옵션을 주지 않더라도 원하는 출력을 확인하실 수 있습니다.
F3: 검색을 시작합니다.
F3 을 누르면 콘솔 하단에 Sarch: 메뉴가 나타납니다.
원하는 검색어를 눌러서 프로세스를 검색해보세요.
F4: 필터링을 시작합니다. 프로세스 명령어의 일부를 입력하면 이름이 일치하는 프로세스만 표시됩니다.
Search와 Filter는 꽤나 유사한 면을 가지고 있습니다.
Search는 특정 프로세스 검색을 목적으로,
Filter는 원하는 프로세스들만 출력하는 목적으로 사용하시면 됩니다.
풀어서 써도 크게 차이는 없네요 ^^;
F5: 트리 뷰를 표시합니다.
리눅스에서 개발을 하다보면 fork를 이용해 자식 프로세스를 만드는 경우가 비일비재 합니다.
그리고 process를 종료하는 경우에도 좀비프로세스가 남지 않도록 확인하는 경우도 많습니다.
그럴 때 Tree 구조로 프로세스를 출력하면 한눈에 보기가 수월합니다.
Tree view로 전환하고 나면 하단 메뉴가 조금 변경이 됩니다. 원래는 F5 가 트리뷰 표시 기능인데 Sorted(정렬) 로 변경되었습니다.
F6: 정렬
프로세스를 조건에 따라 정렬합니다.
sort by 는 PID, User, Priority, NICE, Memory 등 조건으로 정렬이 가능합니다.
F7, F8: 선택한 프로세스의 우선순위를 높이거나 낮춥니다.
CPU time을 많이 가져갔으면 하는 프로세스에 대해서 우선순위를 높일 수 있습니다.
그 반대로 낮추는 것도 가능합니다.
F9: 프로세스를 종료합니다.
프로세스를 종료하는 기능입니다.
kill 명령과 크게 차이는 없습니다.
재밌는 점은 어떤 시그널로 죽일 지 Signal 선택이 가능하다는 점 입니다.
해당 프로세스 예외처리 기능을 이용하는 경우라면
적절한 signal 선택이 필요할 수 있겠습니다.
F10: htop을 종료합니다.
htop 이 종료됩니다. F10 을 사용하지 않더라도 Ctrl + C 로 signal 을 보내 종료할 수도 있습니다.
'CS' 카테고리의 다른 글
strace 를 이용한 프로세스 모니터링 - 디버깅 빠르게 하는 방법 (0) | 2024.06.06 |
---|---|
[Testing/QA] 카오스 엔지니어링의 개념과 예시 - System 회복력의 검증 (0) | 2024.05.25 |
리눅스 프로세스 좀 더 잘 들여다보기 - htop 사용법 (0) | 2024.04.13 |
MSA에서 서비스 간 효과적인 통신을 책임지는 Service mesh 개념 읽어보기 (0) | 2024.03.16 |
Standard stream의 유형 stdout, stderr 차이점과 활용 (0) | 2024.03.05 |