Skip to content

Latest commit

 

History

History
186 lines (147 loc) · 5.36 KB

3. 시스템 정보.md

File metadata and controls

186 lines (147 loc) · 5.36 KB

ps

설명

  • process status 출력

자주 사용되는 옵션

  • -e : 모든 프로세스(데몬..등등)
  • -f : full-format (자주보는, 미리정의된 필드의 정보)
  • -L : 쓰레드까지 출력(멀티 쓰레드 프로그래밍할때)
  • --forest : 프로세스를 tree 형태로 출력
  • -o : output formatting
  • --sort : sorting( cpu를 누가 얼마나 점유하고 있는지 sorting할떄 )

사용예제

  • ps : ps 리스트 출력
  • ps -ef : 가장 많이 사용 (하지만 너무 많은 정보출력)
  • ps --help : ps옵션확인
  • man ps : ps에 대한 man페이지
  • ps --ppid 1 -f : ppid가 1번인 프로세스 출력
  • ps -eF --sort=%mem : rss기준으로 오름차순
    • -F : -f보다 좀더 많은 필드를 보여줌
  • ps -eF --sort=%mem | tail : 메모리 많이 잡아먹는 프로세스 보기(tail쪽)
  • ps -eF --sort=-%mem : rss기준 내림차순 정렬
  • ps -eo pid,args | head : 전체 프로세스중 pid와 args만 출력해라(head에서)

image

  • OutputHeader : 출력되는 컬럼(필드)이름

top

설명

  • 프로세스를 어떤 기준으로 정렬하여 n개의 프로세스를 조회/모니터링
    • 단위시간 마다 화면이 업데이트 되면서, 특정 기준으로 정렬되기도 하는 특징이 있다.

자주 사용되는 커맨드 (누르는 순간 바로 적용)

기본

  • space : 업데이트
  • q : 종료
  • c : full command line 조회
  • 1(숫자1) : 모든 CPU 상태 조회

정렬

  • M : memory usage
  • P : CPU usage
  • N : process ID
  • T : running time
  • R : 역순 정렬

lsof

설명

  • ls + open file
  • 열려있는 파일 목록 조회

자주 사용되는 옵션

  • -U : 유닉스 도메인 소켓 출력
  • -i : 인터넷 도메인 소켓 출력
  • -p : 특정 pid가 열어 놓은 파일 출력
  • -u : user ID 지정

netstat

설명

  • 네트워크/소켓 상태를 조회할 수 있는 툴

자주 사용되는 옵션

  • -a : 모든 타입의 포트
  • -n : numerical address로 변환
  • -t : TCP socket만
  • -u : UDP socket만
  • -x : Unix 도메인 socket만
  • -l : listening socket만
  • -p : 소켓을 열고 있는 프로그램과 PID도 조회
  • -r : routing table 조회
  • -s : network statics 조회

사용 예제

  • netstat
  • netstat -an

sysctl

설명

  • 여러 가지 시스템 설정을 조회/설정 한다.
    • 형식 : ---.---.-- = xxx 으로 되어 있다.
    • 커널이 이런 변수들을 참고해서 동작한다.

자주 사용되는 옵션

  • -a, --all : 모든 변수 출력
  • -w, --write : 지정된 변수에 값 설정
  • -r, --pattern : 변수 search pattern 입력
  • -N, --names : 변수 이름만 출력
  • -n, --values : 변수 값만 출력

사용 예제

  • sysctl -a | grep 'net' : net과 관련된 시스템 설정 조회
  • sysctl a : a에 대한 변수와 값을 출력
  • sysctl a --values : a의 값만 출력
  • sysctl -w net.ipv4.tcp_syn_retries=4 : 변수값 4로 변경

df

설명

  • disk 사용량을 조회한다.

자주 사용되는 옵션

  • -a, -all : 출력할 수 있는 모든것을 출력
  • -h, --human-readable : 사람이 보기 편한 형태로 출력
  • -t, --type=TYPE : 지정된 파일 시스템에 대해서만 출력

사용 예제

  • df
  • df -h
  • df FILE
  • df -t ext4 : ext4타입 파일만 출력

du

설명

  • 특정 파일/디렉터리가 점유하고 있는 disk usage를 조회 한다.

자주 사용되는 옵션

  • -a, --all : directory 뿐만 아니라 모든 파일 출력
  • -b, --bytes : byte단위로 출력
  • -h, --human-readable : 사람이 읽기 편한 포맷으로 출력
  • -d, --max-depth=N : directory 최대 깊이
  • -c, --total : 총 합계 출력
  • -s, --summarize : 항목 별 요약 출력

사용 예제

  • du -d 1 : 현재 디렉토리 상에 있는 사용량 출력(1depth)
  • du -d 1 -h : human readable하게 현재 디렉토리 상에 있는 사용량 출력(1depth)
  • du /etc /usr/include : /etc와 /usr/include에 대한 사용량 출력

dmidecode

설명

  • 시스템 개발자 들이 많이 쓰는 툴
  • SMBIOS 조회 툴
    • SMBIOS란? : 시스템 management bios
      • BIOS가 생성한 시스템 하드웨어 정보
      • oldName : DMIBIOS

자주 사용되는 옵션

  • -t, --type : 지정된 타입만 출력
  • -s, --string : 지정된 keyword만 출력

lscpu

설명

  • CPU 구조 정보를 출력
    • CPU간의 계층관계

자주 사용되는 옵션

  • -e, --extended : extended readable format
  • -p, --parse : parsable format

캄퓨터 구조

  • 하나의 processor에는 cpu core가 여러개 있다.
  • 하이퍼 스레드(인텔 기준) : 물리적인 1개의 코어를 반으로 쪼개서 2개처럼 나눠 사용
  • 캐시 메모리 : 1개의 코어에서만 사용하는 메모리도 있고(L1), 많은 코어에서 공유해서 사용하는 메모리도 있다.(L2)

사용 예제

  • lscpu -e

free

설명

  • 메모리 사용량 조회 툴
    • total : 총 메모리
    • used : 사용 중인 메모리
    • free : free 메모리
    • shared : tmpfs 등에서 사용하는 메모리
    • buffers : kernel buffers
    • cache : page cache, slabs

자주 사용되는 옵션

  • -h, --human : human-readable output
  • -s N, --seconds N : N초마다 반복 출력
  • -c N, --count N : N회 출력 후 종료

사용 예제

  • free
  • free --help
  • free -h : human readable하게 출력