Linux top 명령을 사용하는 방법(및 출력 이해)

Linux top 명령은 Unix 계열 운영 체제의 강력한 기능 중 하나입니다. 실용적인 디스플레이는 시스템의 실행 프로세스 및 리소스 사용에 대한 유용한 정보로 가득 차 있습니다. 그러나 색상, 강조 표시 및 기본 그래프도 지원한다는 사실을 알고 계셨습니까?

정보가 풍부한 대시보드

상위 명령 1984년부터 존재, 그리고 그것의 많은 변형이 있습니다. 이 기사에서는 모든 패치가 적용된 Ubuntu 18.04와 최상위 버전 3.3.12를 실행하고 있습니다. 우리는 또한 Fedora와 Manjaro를 실행하는 다른 두 대의 테스트 컴퓨터에서 모든 것을 상호 참조했습니다.

기본 상단 디스플레이는 터미널 창에 최대한 많은 정보를 표시합니다. 정보는 관리의 전제 조건이므로 이것은 좋은 것입니다. 우수한 시스템 관리자의 특성 중 하나는 새로운 문제를 식별하고 서비스에 영향을 미치기 전에 처리하는 능력입니다. top은 이를 수행하는 데 도움이 되는 다양한 시스템 메트릭의 대시보드를 제공합니다.

디스플레이는 직관적이기보다는 기능적이라고 가장 잘 설명되며 약어가 많습니다. 탑을 처음 만났을 때, 그것은 비좁고, 비밀스럽고, 불쾌한 느낌을 줍니다. 그러나 몇 번의 키 누름으로 중요한 내용에 따라 디스플레이의 내용과 형식을 조정할 수 있습니다.

귀하의 버전을 확인하십시오.

가지고 있는 top 버전을 확인하려면 터미널 창에 다음을 입력하십시오.

top -v

귀하의 버전이 3.3.12보다 훨씬 뒤처져 있다면, 우리가 다룰 모든 기능을 지원하지 않을 수 있습니다.

기본 디스플레이

다음을 입력하고 “Enter”를 눌러 맨 위로 시작할 수 있습니다.

top

기본 표시에는 요약 영역(또는 대시보드)과 작업 영역(또는 프로세스 목록)의 두 가지 정보 영역이 있습니다. 기본적으로 top은 3초마다 디스플레이를 업데이트합니다. 업데이트할 때 약간의 깜박임을 알 수 있습니다.

대시보드의 첫 번째 숫자 줄에는 시간, 컴퓨터가 실행된 시간, 로그인한 사람 수, 지난 1분, 5분, 15분 동안의 평균 로드가 포함됩니다. 두 번째 줄은 작업 수와 해당 상태(실행 중, 중지됨, 잠자기 또는 좀비)를 보여줍니다.

세 번째 줄은 다음과 같은 중앙 처리 장치(CPU) 값을 표시합니다.

us: CPU가 “사용자 공간”에 있는 사람들을 위해 프로세스를 실행하는 데 소비하는 시간입니다.
sy: 시스템 “커널 공간” 프로세스를 실행하는 데 소요된 시간입니다.
ni: 수동으로 설정된 nice 값으로 프로세스를 실행하는 데 소요된 시간.
id: CPU 유휴 시간의 양.
wa: CPU가 I/O가 완료될 때까지 기다리는 시간입니다.
hi: 하드웨어 인터럽트를 처리하는 데 소요된 시간입니다.
si: 소프트웨어 인터럽트를 처리하는 데 소요된 시간.
st: 가상 머신 실행으로 인해 손실된 시간(“도용 시간”).

  Linux 명령을 파일로 출력하는 방법

네 번째 줄은 총액(키비바이트 단위) 실제 메모리의 여유 공간, 사용 공간, 버퍼링 또는 캐시된 양입니다.

다섯 번째 줄은 스왑 메모리의 총량(키비바이트 단위)과 여유, 사용 및 사용 가능한 양을 보여줍니다. 후자는 캐시에서 복구할 수 있을 것으로 예상되는 메모리를 포함합니다.

프로세스 목록의 열 머리글은 다음과 같습니다.

PID: 프로세스 ID.
USER: 프로세스의 소유자입니다.
PR: 프로세스 우선 순위.
NI: 프로세스의 좋은 가치.
VIRT: 프로세스에서 사용하는 가상 메모리의 양입니다.
RES: 프로세스에서 사용하는 상주 메모리의 양.
SHR: 프로세스에서 사용하는 공유 메모리의 양.
S: 프로세스 상태입니다. (이 필드가 취할 수 있는 값은 아래 목록을 참조하십시오).
%CPU: 마지막 업데이트 이후 프로세스에서 사용한 CPU 시간 점유율.
%MEM: 사용된 물리적 메모리의 공유.
TIME+: 작업에서 사용한 총 CPU 시간(1/100초).
COMMAND: 명령 이름 또는 명령줄(이름 + 옵션).

메모리 값은 키비바이트로 표시됩니다. COMMAND 열은 화면 오른쪽에 있습니다. 위 이미지에는 맞지 않지만 곧 보게 될 것입니다.

프로세스 상태는 다음 중 하나일 수 있습니다.

D: 중단 없는 수면
R: 실행
S: 자
T: 추적(중지)
Z: 좀비

Q를 눌러 상단을 종료합니다.

디스플레이 스크롤

위 또는 아래 화살표, Home, End 및 Page Up 또는 Down 키를 눌러 위아래로 이동하고 모든 프로세스에 액세스할 수 있습니다.

왼쪽 또는 오른쪽 화살표를 눌러 프로세스 목록을 옆으로 이동합니다. 이것은 터미널 창의 범위에 맞지 않는 열을 보는 데 유용합니다.

아래 이미지에서 오른쪽 화살표를 몇 번 눌러 COMMAND 열을 확인했습니다.

숫자 단위 변경

표시 단위를 합리적인 값으로 변경해 보겠습니다. 키비바이트, 메비바이트, 기비바이트, 테비바이트, 페비바이트 및 엑스비바이트 옵션에서 메모리 값을 표시하는 데 사용되는 단위를 순환하려면 대문자 E를 누르십시오. 사용 중인 단위는 4행과 5행의 첫 번째 항목입니다.

소문자 “e”를 눌러 프로세스 목록의 값(kibibytes, mebibytes, gibibytes, tebibytes 및 pebibytes)에 대해 동일한 작업을 수행합니다.

E를 눌러 대시보드 메모리 단위를 기비바이트로 설정하고 “e”를 눌러 프로세스 목록 메모리 단위를 메비바이트로 설정했습니다.

요약 내용 변경

대시보드에서 선의 표시 설정을 변경하거나 완전히 제거할 수 있습니다.

로드 요약 라인(첫 번째 라인)을 켜거나 끄려면 l을 누르십시오. 아래 이미지에서 부하 요약 줄을 제거했습니다.

당신이 가지고있는 경우 멀티 코어 CPU, 1을 눌러 디스플레이를 변경하고 각 CPU에 대한 개별 통계를 봅니다. 우리 컴퓨터에는 4개의 CPU가 있습니다. 우리는 각각이 얼마나 열심히 일하고 있는지 보기 위해 1을 누릅니다.

  Amahi로 Linux NAS를 만드는 방법

물론 이것은 터미널 창 내에서 더 많은 화면 공간을 차지합니다.

“t”를 눌러 CPU 디스플레이를 단순 디스플레이로 바꿀 수 있습니다. 아스키 각 CPU의 사용량 백분율을 보여주는 그래프.

각 CPU에 대해 top은 세 개의 숫자와 그래프를 표시합니다. 왼쪽에서 오른쪽으로 숫자는 다음과 같습니다.

us와 ni 비율을 결합했습니다(사용자 공간+비표준 nice 설정이 있는 작업).
sy 백분율(커널 공간).
합계(정수 값으로 반올림).

“t”를 다시 눌러 그래프 표시를 실선 블록 문자로 변경합니다.

CPU 디스플레이와 작업 요약 라인을 완전히 제거하려면 “t”를 한 번 더 누르십시오.

“m”을 눌러 메모리를 순환하고 다른 디스플레이 옵션을 통해 메모리 라인을 교체하십시오. 처음 누르면 통계가 ASCII 그래프로 바뀝니다.

한 번 더 누르면 그래프가 블록 문자로 변경됩니다.

CPU 라인을 모두 제거하려면 “m”을 한 번 더 누르십시오.

원하는 경우 CPU 및 메모리 그래프를 동시에 볼 수 있습니다. 원하는 조합이 나올 때까지 “t”와 “m”을 누르기만 하면 됩니다.

색상 및 강조 표시

“z”를 눌러 디스플레이에 색상을 추가할 수 있습니다.

상단을 생각할 때 컬러 디스플레이와 ASCII 그래프는 생각하지 않을 수 있지만 내장되어 있습니다.

“y”를 눌러 프로세스 목록에서 실행 중인 작업을 강조 표시합니다. “x”를 누르면 프로세스 목록을 정렬하는 데 사용되는 열이 강조 표시됩니다. “b”를 눌러 굵은 텍스트와 반전된 텍스트 강조 표시 사이를 전환할 수 있습니다.

열을 기준으로 정렬

기본적으로 프로세스 목록은 %CPU 열을 기준으로 정렬됩니다. 다음을 눌러 정렬 열을 변경할 수 있습니다.

P: %CPU 열입니다.
M: %MEM 열입니다.
N: PID 열입니다.
T: TIME+ 열입니다.

아래 이미지에서 프로세스 목록은 PID 열을 기준으로 정렬되어 있습니다.

전체 명령줄 보기

“c”를 누르면 프로세스 이름과 전체 명령줄 표시 사이에서 COMMAND 열이 전환됩니다.

다른 프로세스에 의해 시작되거나 생성된 프로세스의 “트리”를 보려면 V를 누르십시오.

단일 사용자에 대한 프로세스를 참조하십시오.

단일 사용자에 대한 프로세스를 보려면 “u”를 누르십시오. 이름 또는 UID.

모니터링할 사람의 UID 이름을 입력합니다. “dave”를 입력하고 “Enter”를 누르십시오. 이제 작업 영역의 유일한 프로세스는 사용자 dave에 속합니다.

활성 작업만 보기

활성 작업만 보려면 I를 누르십시오.

마지막 업데이트 이후 CPU를 사용하지 않은 작업은 표시되지 않습니다.

표시할 프로세스 수 설정

작업이 활성 상태인지 여부에 관계없이 “n”을 눌러 표시를 특정 줄 수로 제한합니다. 표시할 프로세스 수를 묻는 메시지가 표시됩니다.

10을 입력하고 Enter 키를 눌렀으므로 작업 영역에 10개의 프로세스가 나타납니다.

프로세스 르니스

“r”을 눌러 프로세스에 대한 nice 값(우선순위)을 변경할 수 있습니다. 프로세스 ID를 입력하라는 메시지가 표시됩니다. 프로세스 창 상단에 있는 작업의 프로세스 ID를 사용하려면 Enter 키를 누르기만 하면 됩니다. Firefox 인스턴스의 프로세스 ID인 7800을 입력합니다.

Enter 키를 누르면 프로세스에 적용할 새 nice 값을 묻는 메시지가 표시됩니다. 15를 입력한 다음 Enter 키를 누릅니다.

  Google 크롬북에 설치하기 위한 4가지 최고의 Linux 배포판

새로운 nice 값이 즉시 프로세스에 적용됩니다.

프로세스 종료

프로세스를 종료하려면 “k”를 누르십시오. 그런 다음 종료하려는 프로세스 ID를 묻는 메시지가 표시됩니다. 실제로 프로세스에 모든 신호를 보낼 수 있습니다. 응답을 멈춘 프로세스 7879를 종료합니다.

보내려는 신호를 입력할 수 있는 기회가 제공됩니다. 이름이나 번호로 지정할 수 있습니다. Enter 키를 누르기만 하면 top이 SIGTERM(종료) 신호를 보냅니다.

Enter 키를 누르자 마자 신호가 프로세스로 전송됩니다.

디스플레이 사용자 정의

표시되는 색상과 열을 사용자 정의할 수도 있습니다. 프롬프트에 사용되는 색상을 변경할 것입니다. 기본값은 빨간색입니다.

대문자 Z를 눌러 색상 설정 페이지로 이동합니다. 화면 상단에는 다양한 디스플레이 요소에서 사용 중인 색상이 표시됩니다. 변경하려는 표시 요소를 나타내려면 대소문자를 구분하는 다음 중 하나를 누르십시오.

S: 요약 데이터 영역.
남: 메시지와 프롬프트.
H: 열 머리글.
T: 프로세스 목록의 작업 정보입니다.

프롬프트를 변경하려면 M을 누릅니다.

색상을 선택하려면 다음 숫자 중 하나를 누르십시오.

0: 블랙.
1: 빨간색.
2: 녹색.
3: 노란색.
4: 파란색.
5: 마젠타색.
6: 청록색.
7: 흰색.

청록색을 사용하려면 6을 누릅니다.

Enter 키를 눌러 설정을 저장합니다. 이제 입력 프롬프트가 선택한 색상으로 표시됩니다.

필드 관리 화면에 표시되는 열을 변경할 수도 있습니다. F를 눌러 필드 관리 화면으로 들어갑니다.

표시되는 필드는 옆에 별표(* )가 있고 굵게 강조 표시됩니다. 위쪽 및 아래쪽 화살표를 눌러 필드 목록에서 강조 표시를 이동합니다.

강조 표시를 열의 맨 아래로 이동하면 다음 열의 맨 위에 표시됩니다(마지막 열의 맨 아래에 있지 않은 경우). 열의 맨 위에서 이동하면 이전 열의 맨 아래에 나타납니다(첫 번째 열의 맨 위에 있지 않은 경우).

강조 표시를 COMMAND 항목으로 이동한 다음 “d”를 눌러 별표를 제거했습니다.

. 그런 다음 UID 항목으로 이동하고 “d”를 눌러 해당 항목 옆에 별표를 배치했습니다. 즉, COMMAND 열은 표시되지 않지만 UID 열은 표시됩니다.

강조 표시가 UID 열에 있는 동안 “s”를 눌러 UID 열에서 프로세스 목록을 정렬합니다.

Enter 키를 눌러 설정을 저장한 다음 “q”를 눌러 필드 관리 화면을 종료합니다.

UID 열은 COMMAND 열을 대체했으며 프로세스 목록은 이를 기준으로 정렬됩니다.

대체 디스플레이 모드

전체 화면 모드에서 가장 잘 작동합니다. A를 눌러 프로세스 목록에 4개의 영역을 표시한 다음 “a”를 눌러 영역 간에 이동합니다.

각 영역에는 서로 다른 열 컬렉션이 있지만 필드 관리 화면을 통해 사용자 정의할 수도 있습니다. 이를 통해 각 영역의 다른 정보를 표시하는 전체 화면의 사용자 정의 디스플레이를 가질 수 있는 범위와 다른 열을 기준으로 각 영역을 정렬할 수 있는 기능을 제공합니다.

기타 키 입력

다음은 상단에서 유용할 수 있는 몇 가지 다른 키입니다.
W: 다음에 시작할 때 계속 유효하도록 설정과 사용자 정의를 저장하십시오.
d: 새로운 디스플레이 재생 빈도를 설정합니다.

Space: 지금 바로 상단에 강제로 표시를 새로고침합니다.

탑 바나나 우리가 보았듯이, top은 꽤 많은 레퍼토리를 가지고 있습니다. 다른 프로그램,htop과 같은

, 거기에서 영감을 얻었지만, 그들 각각은 사물에 대한 자신의 견해를 가지고 있습니다.

그러나 상단은 모든 곳에 설치됩니다. 네트워크나 서버를 살펴보기 위해 기업에 가보면 라이브 서버에서는 아무것도 변경할 수 없다는 말을 자주 듣게 됩니다. 클라이언트가 규칙을 만들므로 이미 설치된 것을 사용해야 합니다.

다른 모니터링 도구를 선호하더라도 top을 알아야 합니다. 머지 않아 액세스할 수 있는 모든 상황에 처하게 될 것입니다.