Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 유닉스
- NIO
- oracle
- python
- Java
- lombok
- 웹 크롤링
- 시스템
- JVM
- android
- kotlin
- 파이썬
- 자바
- 고전역학
- flet
- Spring boot
- 인프라
- 코틀린
- 역학
- GIT
- Database
- 리눅스
- 뉴턴역학
- 자바네트워크
- 소프트웨어공학
- write by chatGPT
- write by GPT-4
- 자바암호
- chatGPT's answer
- GPT-4's answer
Archives
- Today
- Total
Akashic Records
현재 실행 중인 프로세스와 시스템 상태를 보여주는 'top' 본문
Operation System Controls
현재 실행 중인 프로세스와 시스템 상태를 보여주는 'top'
Andrew's Akashic Records 2024. 3. 15. 10:51728x90
top
명령어는 리눅스와 유닉스 계열 시스템에서 실시간으로 시스템의 프로세스와 리소스 사용 상태를 모니터링하는 데 사용됩니다. top
을 실행하면, 다양한 요약 정보와 함께 시스템에서 가장 리소스를 많이 사용하는 프로세스들의 리스트를 보여줍니다. 여기서 제공되는 요약 정보의 일반적인 구성요소에 대해 설명하겠습니다.
상단 시스템 정보
1. 시스템 요약 정보
- 시간: 현재 시간입니다.
- 업타임: 시스템이 마지막으로 부팅된 이후로 지난 시간입니다.
- 사용자 수: 현재 시스템에 로그인한 사용자 수입니다.
- 평균 부하(load average): 지난 1분, 5분, 15분 동안의 시스템 부하 평균을 나타냅니다. 이는 시스템이 얼마나 바쁜지를 나타내는 지표로, 프로세스 대기열의 길이와 관련이 있습니다.
2. 태스크(Task) 정보
- 총 프로세스 수: 시스템에서 실행 중인 전체 프로세스의 수입니다.
- 실행 중인 프로세스: 현재 CPU 시간을 사용하고 있는 프로세스의 수입니다.
- 대기 중인 프로세스: 실행을 위해 대기 중인 프로세스의 수입니다.
- 중지된 프로세스: 일시 중지된 프로세스의 수입니다.
- 좀비 프로세스: 부모 프로세스에 의해 아직 회수되지 않은 종료된 자식 프로세스의 수입니다.
3. CPU 사용 정보
- us (user time): 사용자 레벨에서 사용된 CPU 시간의 비율입니다.
- sy (system time): 시스템(커널) 레벨에서 사용된 CPU 시간의 비율입니다.
- ni (nice value): 낮은 우선순위를 가진 프로세스가 사용한 CPU 시간의 비율입니다.
- id (idle): 유휴 상태의 CPU 비율입니다.
- wa (I/O wait): I/O 대기 중인 CPU 시간의 비율입니다.
- hi (hardware interrupt): 하드웨어 인터럽트 처리에 사용된 CPU 시간의 비율입니다.
- si (software interrupt): 소프트웨어 인터럽트 처리에 사용된 CPU 시간의 비율입니다.
- st (steal time): 가상화 환경에서 다른 가상 머신에 의해 '훔쳐간' CPU 시간의 비율입니다.
4. 메모리 사용 정보
- KiB Mem: 시스템의 전체 물리적 메모리 크기입니다.
- total: 전체 물리적 메모리 양입니다.
- free: 사용되지 않고 남아 있는 메모리 양입니다.
- used: 현재 사용 중인 메모리 양입니다.
- buff/cache: 버퍼와 캐시에 사용된 메모리 양입니다.
- available: 애플리케이션이 사용할 수 있는 메모리의 양입니다.
top
명령어는 인터랙티브 명령어이며, 실행 중에 다양한 옵션을 조정하여 출력 정보를 변경할 수 있습니다. 예를 들어, 프로세스를 CPU 사용량이나 메모리 사용량 등 다양한 기준으로 정렬할 수 있습니다. top
내에서 h
를 누르면 사용할 수 있는 단축키 목록을 볼 수 있습니다.
하단 프로세스 정보
top
명령어의 하단 부분은 시스템에서 실행 중인 프로세스들의 목록을 보여줍니다. 이 목록은 기본적으로 CPU 사용량이 높은 순서로 정렬되어 있으며, 여러 컬럼으로 구성되어 각 프로세스의 상태와 리소스 사용량을 나타냅니다. 다음은 프로세스 목록에서 일반적으로 볼 수 있는 정보의 컬럼과 그 의미입니다.
PID (Process ID)
- 설명: 각 프로세스를 구별하기 위한 고유한 식별 번호입니다.
USER
- 설명: 프로세스를 실행한 사용자의 이름입니다.
PR (Priority)
- 설명: 프로세스의 우선순위입니다. 낮은 숫자가 더 높은 우선순위를 의미합니다.
NI (Nice value)
- 설명: 프로세스의 우선순위에 영향을 주는 값입니다. 낮은 우선순위(높은 숫자)로 실행될 수 있도록 조정합니다.
VIRT (Virtual Memory Size)
- 설명: 프로세스가 사용하는 가상 메모리의 총량입니다. 이는 실제 RAM 사용량과 스왑 영역 사용량을 포함합니다.
RES (Resident Memory Size)
- 설명: 프로세스가 현재 사용하고 있는 실제 RAM의 크기입니다.
SHR (Shared Memory Size)
- 설명: 다른 프로세스와 공유되는 메모리의 양입니다.
S (Status)
- 설명: 프로세스의 현재 상태입니다. 예를 들어, 'S'는 대기(sleeping) 상태, 'R'은 실행(running) 상태, 'Z'는 좀비(zombie) 상태 등입니다.
%CPU
- 설명: 프로세스가 사용하는 CPU의 비율입니다. 이 값은 프로세스가 마지막 업데이트 이후 사용한 CPU 시간의 비율을 나타냅니다.
%MEM
- 설명: 프로세스가 사용하는 메모리의 비율입니다. 시스템 전체 메모리 대비 해당 프로세스가 사용하는 메모리의 비율을 나타냅니다.
TIME+
- 설명: 프로세스가 시작된 이후 CPU 시간의 총 사용량입니다. 일반적으로 분:초 형식으로 표시됩니다.
COMMAND
- 설명: 프로세스를 시작한 명령어 또는 실행 파일의 이름입니다.
top
명령어는 기본적으로 이 정보들을 실시간으로 업데이트하여 표시합니다. 사용자는 top
명령어를 실행 중인 동안 특정 키를 눌러 프로세스 목록의 정렬 기준을 변경하거나, 특정 프로세스에 대한 자세한 정보를 조회하는 등 다양한 조작을 수행할 수 있습니다. 예를 들어, P
를 눌러 CPU 사용량이 높은 순으로, M
을 눌러 메모리 사용량이 높은 순으로 정렬할 수 있습니다.
728x90
'Operation System Controls' 카테고리의 다른 글
Linux 파일을 다루는 명령어들 (1) | 2024.03.18 |
---|---|
'crontab' 스케줄링을 위한 가이드 (0) | 2024.03.15 |
vmstat (0) | 2018.04.18 |
Unix 프로세스 관리(PS) (0) | 2018.04.18 |
tar (0) | 2018.04.18 |
Comments