Linux Command - htop

sycho·2023년 11월 30일
0

Linux Commands

목록 보기
3/30

htop

  • documentation 여기서 설명하는 것 이상으로 유용한 command 및 htop에서 출력하는 정보에 대한 내용이 써져 있으니 궁금하면 찾아보자.

  • 기본적으로 top이랑 비슷하다. 다만 좀 더 유저친화적이다.

  • 마우스 활용 조작이 가능하다. 휠 사용 스크롤도 가능하다.

  • 색깔이 좀 들어가 있다 (?)

  • F1을 누르면 화면에 대한 설명을 볼 수 있다.

  • 먼저 []로 구성된 화면을 보면 숫자는 OS상에서 인식하는 cpu core들의 사용률을 나타낸다. 그 외에 메모리 사용률, swap memory 사용률을 나타낸다. 그림에는 잘 안나와 있으나 bar들은 색깔이 있으며, 각 색깔이 의미하는 것은 위의 설명에 나와 있다. (Swap memory는 종류가 하나다.)

  • 또 간략한 task들에 대한 정보도 나와 있다. thread 개수, 실행되고 있는 것들 개수도 나오고 있다. Uptime은 실행 후 얼마나 지났는지를 나타낸다.

  • 밑의 긴 목록은 각 process들에 대한 정보다. 대부분의 항목들은 이전 글들을 봤으면 익숙할텐데 잘 모를 수도 있는 항목들에 대해 설명하자면

    • PRI는 process의 priority를 나타낸다. Nice value에 20을 더한 값인데, 보통은 그냥 20이다. 이것에 따라 scheduling이 되는데 잘 모르겠으면 검색
    • NI는 nice value를 나타낸다. priority를 계산할 때 사용되며, -20~19의 값을 가진다. priority 값이 낮을수록 우선순위가 높기 때문에, -20의 값을 가진 process가 priority가 높다고 생각하면 된다.
    • VIRT는 해당 process의 VM size를 의미한다.
    • RES는 RAM에 올라간 실제 메모리 크기를 의미한다. (text + data + stack)
    • SHR은 타 process랑 공유하는 page들 총합을 의미한다.

단축키

F1

  • 위에서 보여준 매뉴얼을 보여준다.

F2

  • htop 화면 customizing에 사용된다.

  • 좌측의 setup은 우리가 설정할 수 있는 것들의 목차다.

  • Meter을 통해 []로 표기되는 부분에 대한 편집을 할 수 있다. 마우스를 통해 원하는 meter을 클릭한 다음에 엔터를 누르면 그 항목이 추가된다. 이후 스페이스바를 통해 스타일을 Bar, Text, Graph, LED 등으로 바꿀 수 있다. 밑은 ClockLED로 추가한 후의 화면 모습이다.

  • Display option은 잡다한 display 설정들을 세팅하는 것이 가능하다. 자세히는 언급 안하겠다.

  • Colors는 htop 화면의 색깔을 설정한다. 모노톤으로 한다든가, 검정/하양으로 바꾼다든가 등이 가능하다.

  • Columns는 process 목록이 나오는 곳에서 보이게 할 항목들을 바꾸는 곳이다.

F3

  • process 목록 탐색에 사용된다. 이때 탐색 기준 항목 (column)을 선택해야 한다.

F4

  • process filtering에 사용된다. 이때 filter 기준 항목 (column)을 선택해야 한다. /이나 \을 써도 된다.

F5

  • Command column이 tree 형식으로 바뀌게 된다. t를 써도 된다.

F6

  • 특정 항목을 기준으로 정렬할 수 있게 해준다. Shift + i를 눌러가지고 오름차순/내림차순 변경이 가능하다. 아니면 굳이 이걸 누르지 않고 column을 그냥 클릭해서 정렬할 수도 있다.

F7 / F8

  • 특정 process의 Nice 값을 -/+ 시킨다. 다만 htop을 실행한 user이 root이어야만 가능하다.

F9

  • 특정 process에 특정 signal을 보낸다. 누르면 무슨 signal을 보낼 수 있는지 목록이 나오는데, 선택 후 Enter을 누르면 그대로 전송이 된다.

F10

  • htop 종료

그외

  • process 선택 후 스페이스바를 누르면 해당 process를 tag를 시킨다.

  • process 선택 후 C를 누르면 해당 process와 그 녀석의 child process들 전부를 tag 시킨다

  • Shift + u를 통해 모든 tag를 제거한다.

  • process 선택 후 Shift + h를 누르면 리스트의 변동으로 그 process가 목록 내에서 이동을 해도, 해당 process가 선택된 상태로 유지가 된다.

  • u를 통해 특정 사용자의 process만을 표기하는게 가능하다.

  • a를 통해 특정 process가 어떤 CPU나 CPU core만을 접근하는게 가능한지 설정하는게 가능하다.

  • i를 통해 IO 우선순위 설정이 가능하다.

  • sstrace라는 외부 프로그램을 통해 특정 process의 system call 추적을 한다.

  • l (소문자 L)은 lsof를 활용해서 process가 열었던 파일들을 추적을 한다.

  • Shift + Lltrace를 활용해서 process가 수행한 모든 library call을 추적을 한다. 대문자로 해야 한다. 유의

profile
CS 학부생, 핵심 관심 분야 : Embed/System/Architecture/SWE

0개의 댓글