본문 바로가기
컴퓨터

리눅스 리소스 확인

by 복숭아의꿈 2023. 7. 18.

리눅스에서 시스템의 리소스 상태를 확인하는 명령어

각 명령어는 터미널에서 실행되며, 리눅스 시스템의 상태를 확인하는데 유용합니다.

 

1. top : 실시간 프로세스 목록과 시스템 리소스 상태를 나타냄.

● 옵션

top -d [초] 또는 top -delay [초]: 지정된 초 간격으로 업데이트되는 top을 실행합니다.

top -b: 비교 모드로 실행하며, 한 번만 리소스 상태를 출력한 후 종료됩니다.

top -c: 명령어의 전체 경로명을 보여줍니다.

top -n [횟수]: 지정된 횟수만큼 top 명령어를 실행한 후 종료됩니다.

top -p [PID]: 특정 프로세스의 상태만 표시합니다. 여러 PID를 콤마로 구분하여 지정할 수 있습니다.

top -u [사용자명]: 특정 사용자의 프로세스만 보여줍니다.

top -H: 스레드 뷰 모드로 실행하며, 프로세스의 스레드도 함께 표시합니다.

top -M: 가상 메모리 사용량을 표시합니다.

top -p: 각 프로세스 별로 CPU 사용량의 백분율을 표시합니다.

top -o: 지정된 열을 기준으로 프로세스를 정렬합니다. (예: top -o %MEM는 메모리 사용량 순으로 정렬)

top -b -n 1 > [파일명]: 비교 모드로 실행하여 한 번만 시스템 상태를 파일로 저장합니다.


2. htop : top과 유사한 기능을 가진 프로세스 모니터링 툴로, 보다 시각적이고 상호작용적인 사용자 인터페이스를 제공합 니다. (htop 설치가 필요할 수 있습니다.)

● 옵션

F1 또는 h: 도움말 메뉴를 엽니다. 사용 가능한 단축키와 명령어에 대한 설명을 확인할 수 있습니다.

F2 또는 S: Setup 화면을 엽니다. 화면에서 정렬 및 컬럼 숨기기와 같은 환경 설정을 변경할 수 있습니다.

F3 또는 /: 프로세스 필터링을 위한 검색 기능을 제공합니다.

F4 또는 U: 프로세스 트리 모드로 전환하여 부모-자식 관계로 프로세스를 표시합니다.

F5 또는 t: 트리로 그룹화된 모드를 전환하여 프로세스를 사용자 정의 그룹으로 표시합니다.

F6 또는 <: 정렬할 열을 선택하는데 사용합니다. (예: PID, CPU, MEM 등)

F7 또는 {: 정렬 방향을 오름차순으로 변경합니다.

F8 또는 }: 정렬 방향을 내림차순으로 변경합니다.

F9 또는 k: 선택한 프로세스를 종료(Kill)할 수 있도록 합니다.

F10 또는 q: htop을 종료합니다.

Ctrl + L: 화면을 갱신합니다.


3. free : 시스템의 메모리 사용량과 사용 가능한 메모리 양을 확인합니다.

● 옵션

-h 또는 --human: 사람이 읽기 쉬운 단위(KB, MB, GB 등)로 메모리 사용량을 표시합니다.

-b 또는 --bytes: 바이트 단위로 메모리 사용량을 표시합니다. 이는 기본값입니다.

-k 또는 --kilo: 킬로바이트(KB) 단위로 메모리 사용량을 표시합니다.

-m 또는 --mega: 메가바이트(MB) 단위로 메모리 사용량을 표시합니다.

-g 또는 --giga: 기가바이트(GB) 단위로 메모리 사용량을 표시합니다.

--tera: 테라바이트(TB) 단위로 메모리 사용량을 표시합니다.

-s [초] 또는 --seconds [초]: 지정된 초마다 메모리 사용량을 업데이트합니다.

-c [반복횟수] 또는 --count [반복횟수]: 지정된 횟수만큼 메모리 사용량을 출력한 후 종료


4. df : 디스크 사용량을 확인합니다.

※ df: 기본적으로 df 명령어를 실행하면 마운트된 파일 시스템의 디스크 사용량을 킬로바이트(KB) 단위로 보여줍니다.

● 옵션
-h 또는 --human-readable: 사람이 읽기 쉬운 단위(KB, MB, GB 등)로 디스크 사용량을 표시합니다.

--block-size=[단위]: 지정된 단위로 디스크 사용량을 표시합니다. 예를 들어, --block-size=1M는 메가바이트(MB) 단위로 표시합니다.

--total: 모든 파일 시스템의 총 디스크 사용량을 보여줍니다.

--help: df 명령어의 도움말 메뉴를 출력합니다.


5. du : 디렉토리 또는 파일별로 디스크 사용량을 확인합니다.

● 옵션

du: 기본적으로 du 명령어를 실행하면 현재 디렉토리의 디스크 사용량을 블록(512 바이트) 단위로 보여줍니다.

-h 또는 --human-readable: 사람이 읽기 쉬운 단위(KB, MB, GB 등)로 디스크 사용량을 표시합니다.

--block-size=[단위]: 지정된 단위로 디스크 사용량을 표시합니다. 예를 들어, --block-size=1M는 메가바이트(MB) 단위로 표시합니다.

-s 또는 --summarize: 하위 디렉토리를 합산하지 않고 현재 디렉토리의 사용량만 표시합니다.

--max-depth=[깊이]: 지정된 깊이만큼의 하위 디렉토리까지만 보여줍니다.

-a 또는 --all: 숨겨진 파일과 디렉토리를 포함하여 모든 파일과 디렉토리의 사용량을 표시합니다.

--exclude=[패턴]: 특정 파일이나 디렉토리를 제외하고 사용량을 표시합니다.

--time: 파일마다 마지막 수정 시간을 표시합니다.

--help: du 명령어의 도움말 메뉴를 출력합니다.


6. vmstat : 가상 메모리의 상태와 시스템의 성능 정보를 보여줍니다.

● 옵션

-a 또는 --active: 활성화된(active) 및 비활성화된(inactive) 메모리 사용 정보를 표시합니다.

-f 또는 --fork: 시스템 부팅 이후 발생한 포크(fork) 횟수를 표시합니다.

-m 또는 --slabs: 커널 슬랩(slab) 메모리 사용 정보를 표시합니다.

-n [초] 또는 --one-time [초]: 지정된 초마다 한 번씩 vmstat 명령어를 실행합니다.

-d 또는 --disk: 디스크 통계 정보를 보여줍니다.

-p [디스크] 또는 --disk-partition [디스크]: 지정된 디스크의 통계 정보를 보여줍니다.

-S [단위] 또는 --unit [단위]: 통계 정보의 단위를 지정합니다. 예를 들어, KB, MB, GB 등이 가능합니다.

-t 또는 --timestamp: 각 레코드에 타임스탬프를 표시합니다.

-V 또는 --version: vmstat 명령어의 버전 정보를 출력합니다.

--help: vmstat 명령어의 도움말 메뉴를 출력합니다.


7. iostat : 디스크와 입출력 장치의 상태를 보여줍니다.

● 옵션

-c [초]: 지정된 초마다 iostat 명령어를 실행합니다.

-d: 디스크 입출력 통계를 보여줍니다.

-x: 확장된 디스크 입출력 통계를 보여줍니다.

-k: 킬로바이트(KB) 단위로 입출력 통계를 표시합니다.

-m: 메가바이트(MB) 단위로 입출력 통계를 표시합니다.

-t [디스크]: 특정 디스크의 입출력 통계를 보여줍니다.

-y: 디스크 통계의 결과를 시간 기준으로 표시합니다.

--help: iostat 명령어의 도움말 메뉴를 출력합니다.


8. netstat : 네트워크 상태와 연결 정보를 확인합니다.

● 옵션

-a 또는 --all: 모든 연결 정보(활성화 및 대기 중인)를 보여줍니다.

-t 또는 --tcp: TCP 연결 정보만 표시합니다.

-u 또는 --udp: UDP 연결 정보만 표시합니다.

-n 또는 --numeric: 주소와 포트를 숫자 형식으로 표시합니다.

-p 또는 --program: 프로세스 정보와 함께 연결 정보를 표시합니다.

-r 또는 --route: 라우팅 테이블을 보여줍니다.

-i 또는 --interfaces: 네트워크 인터페이스의 통계 정보를 보여줍니다.

-s 또는 --statistics: 네트워크 프로토콜의 통계 정보를 보여줍니다.

--help: netstat 명령어의 도움말 메뉴를 출력합니다.


9. ifconfig 또는 ip addr : 네트워크 인터페이스의 IP 주소와 상태를 보여줍니다.

● 옵션

interface: 특정 인터페이스의 상태를 확인합니다. 예를 들어, ifconfig eth0는 eth0 인터페이스의 정보를 보여줍니다.

interface up: 특정 인터페이스를 활성화합니다. 예를 들어, ifconfig eth0 up는 eth0 인터페이스를 활성화합니다.

interface down: 특정 인터페이스를 비활성화합니다. 예를 들어, ifconfig eth0 down은 eth0 인터페이스를 비활성화합니다.

interface [IPv4 주소]: 특정 인터페이스에 IPv4 주소를 설정합니다.

interface [IPv6 주소]: 특정 인터페이스에 IPv6 주소를 설정합니다.

netmask [넷마스크]: 특정 인터페이스에 넷마스크를 설정합니다.

broadcast [브로드캐스트 주소]: 특정 인터페이스에 브로드캐스트 주소를 설정합니다.

hw ether [MAC 주소]: 특정 인터페이스에 MAC 주소를 설정합니다.

promisc: 특정 인터페이스를 Promiscuous 모드로 설정합니다.

-a 또는 --all: 모든 인터페이스의 정보를 보여줍니다.

--help: ifconfig 명령어의 도움말 메뉴를 출력합니다.


10. ps : 현재 실행 중인 프로세스를 확인합니다.

● 옵션

ps -e 또는 ps -A: 시스템의 모든 프로세스를 보여줍니다.

ps -f: 전체 포맷으로 프로세스를 보여줍니다. 자세한 정보를 포함하며, PID, PPID, CPU, 메모리 등을 표시합니다.

ps -l: 긴 포맷으로 프로세스를 보여줍니다. 자세한 정보를 포함하며, PID, PPID, PRI, NI, CPU, 메모리 등을 표시합니다.

ps -u [사용자명]: 특정 사용자의 프로세스만 보여줍니다.

ps -p [PID]: 특정 PID의 프로세스 정보를 보여줍니다.

ps -o [컬럼]: 사용자 정의 출력 형식으로 컬럼을 선택하여 표시합니다.

ps -t [터미널]: 특정 터미널과 연관된 프로세스를 보여줍니다.

ps -H: 프로세스 트리를 표시합니다. 부모-자식 관계로 표현됩니다.

ps -C [프로세스명]: 특정 프로세스명에 해당하는 프로세스 정보를 보여줍니다.

ps -G [그룹명]: 특정 그룹에 속한 프로세스를 보여줍니다.

ps -M: 메모리 사용량이 큰 순서로 프로세스를 정렬하여 보여줍니다.

ps -N: 논리 NOT 연산을 적용하여 조건을 만족하지 않는 프로세스를 선택합니다.

ps -r: 프로세스의 실행 우선순위를 역순으로 정렬하여 보여줍니다.

ps -s: 프로세스의 세션 ID를 표시합니다.

ps -n: 정렬 순서를 숫자로 지정합니다. 기본값은 CPU 사용량을 기준으로 정렬합니다.

ps -x: 프로세스가 터미널에 연관되지 않아도 모든 프로세스를 보여줍니다.

ps -y: 그룹 ID를 표시합니다.

ps -A: 시스템의 모든 프로세스를 보여줍니다.

ps -C [명령어]: 지정된 명령어에 해당하는 프로세스를 보여줍니다.

ps -eF: 확장된 포맷으로 프로세스를 보여줍니다. 전체 정보를 자세하게 표시합니다.

ps -eo [컬럼들]: 사용자 정의 출력 형식으로 여러 컬럼을 선택하여 표시합니다.

ps --forest: 프로세스 트리를 그래픽으로 표시합니다.

ps --help: ps 명령어의 도움말 메뉴를 출력합니다.


11. uptime : 시스템의 부하와 작동 시간을 확인합니다.

● 옵션
-p 또는 --pretty: 시스템 부팅 시간을 보기 좋게(형식화된 문자열) 표시합니다.

-s 또는 --since: 시스템이 부팅된 시간을 에포크(1970년 1월 1일 이후로 경과한 초)로 표시합니다.

--help: uptime 명령어의 도움말 메뉴를 출력합니다.


12. nvidia-smi (NVIDIA GPU를 사용하는 경우) : NVIDIA GPU 상태 및 성능 정보를 보여줍니다.

(NVIDIA 드라이버가 설치되어 있어야 합니다.

● 옵션

-l 또는 --loop [초]: 지정된 초마다 실시간으로 GPU 정보를 업데이트하여 보여줍니다.

-q 또는 --query: 지정된 GPU 속성에 대한 정보를 보여줍니다. 예를 들어, nvidia-smi -q -d MEMORY는 메모리 사용량과 관련된 정보를 보여줍니다.

--help: nvidia-smi 명령어의 도움말 메뉴를 출력합니다.


 

감사합니다:)