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 | 31 |
Tags
- 파이썬
- 소프트웨어공학
- flet
- spring integration
- NIO
- 시스템
- 고전역학
- jpa
- 유닉스
- Database
- 데이터베이스
- android
- 자바네트워크
- chatGPT's answer
- write by GPT-4
- write by chatGPT
- 리눅스
- kotlin
- Java
- 자바
- spring data jpa
- 자바암호
- 인프라
- 역학
- oracle
- JVM
- python
- GPT-4's answer
- 코틀린
- 웹 크롤링
Archives
- Today
- Total
기억을 지배하는 기록
현재 실행 중인 프로세스와 시스템 상태를 보여주는 '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