상세 컨텐츠

본문 제목

[Linux] CPU, I/O, Memory 사용량 측정 (리눅스 상태)

OS

by husks 2015. 7. 24. 11:50

본문

반응형
  1. iostat

    1. 별도의 설치 필요없음, 물리적 드라이버 별로 기본적인 Disk Read/Write 볼 수 있음
    2. 한 개 이상의 디스크 드라이브에 대한 입출력 통계와 CPU 활용량

      arg-cpu
      %user
      %nice
      %system
      %iowait
      %steal
      %idle
      마지막 재부팅 이후의 평균 CPU 활용량어플리케이션 등 사용자 모드에 소모된 시간nice를 사용하여 스케줄링 우선순위가 바뀐 프로세스에 소모된 시간시스템(커널)이 사용한 시간디스크I/O 요청 때문에 CPU가 대기한 시간다른 가상 CPU가 서비스하는 동안 비자발적으로 대기한 시간대기한 시간
      Device
      tps
      kB_read/s
      kB_wrtn/s
      kB_read
      kB_wrtn
      디바이스 구분초당 전송(입출력) 수초당 읽혀진 KB (Blk일 경우 512바이트 블록수)초당 쓰여진 KB (Blk일 경우 512바이트 블록수)지금까지 읽혀진 KB(Blk일 경우 512바이트 블록수)지금까지 쓰여진 KB(Blk일 경우 512바이트 블록수)
  2. vmstat
    1. 별도의 설치 필요없음, 시스템의 리소스 상황(CPU, I/O, Memory)을 모니터링 할 수 있음 (http://jikime.tistory.com/286)

    2. vmstat(옵션없음) - 마지막 부팅 이후의 평균값

    3. vmstat 2 10 => 2초 간격으로 10회 정보 갱신

      procsmemoryswapiosystemcpu
      rbwswpdfreebuffcachesisobiboincsussyidwa
      현재 실행중인 프로세스의 수(CPU 접근 대기 중인 실행 가능 프로세스 수)인터럽트가 불가능한 sleep 상태에 있는 프로세스의 수 (I/O 처리를 하는 동안 블럭 처리된 프로세스)강제로 스왑아웃된 프로세스사용하고 있는 swap 메모리 양(사용된 가상 메모리 용량)사용가능한 메모리 양버퍼로 사용되고 있는 메모리 양캐시로 사용되고 있는 메모리 양swap in(디스크에서 메모리로 스왑된 메모리 용량)swap out(디스크로 스왑되어 나간 메모리 용량)초당 블럭 디바이스로 보내는 블럭 수(블록 장치로 보내진 블록)초당 블럭 디바이스로부터 받은 블럭 수(블록 장치에서 받아온 블록)초당 인터럽트 되는 양초당 context switch되는 양사용자의 CPU 사용 시간 비율(CPU가 사용자 수준 코드를 실행한 시간, 백분율 단위)시스템의 CPU 사용 시간 비율(CPU가 시스템 수준 코드를 실행한 시간, 백분율 단위)CPU idle time(백분율 단위)입출력 대기
  3. top
    1. 별도의 설치 필요없음, CPU 점유 프로세스들을 실시간으로 조회하는 명령어 (http://weezzle.net/1360)

    • 1줄 top : 시스템의 전반적 상태(가동시간 등)

    • 2줄 Tasks : 프로세스들의 상황

    • 3줄 CPU : CPU의 상황

    • 4줄 Mem : 메모리 상황

    • 5줄 Swap : 스왑 메모리 상황

    • 6줄

      PID
      USER
      PR
      NI
      VIRT
      RES
      SHR
      S
      %CPU
      %MEM
      TIME+
      COMMAND
      프로세스 ID프로세스를 실행시킨 사용자 ID프로세스의 우선순위NICE 값가상 메모리의 사용량(SWAP+RES)현재 페이지가 상주하고 있는 크기(Resident Size)분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합프로세스의 상태(Sleeping, Running, sWapped out process, Zombies)프로세스가 사용하는 CPU의 사용율프로세스가 사용하는 메모리의 사용율CPU TIME, hundredths실행된 명령어
  4. free
    1. 시스템의 실제메모리와 스왑메모리에 대한 사용현황을 확인할 수 있는 명령어 (http://blog.naver.com/PostView.nhn?blogId=jwmoon74&logNo=100174011942)
    • 1줄 Mem : 시스템의 물리적인 메모리에 대한 사용량을 각 필드 단위로 표시

      total
      used
      free
      shared
      buffers
      cached
      전체 메모리의 용량으 Kbyte단위(default)로 표시현재 시스템에서 사용중인 메모리의 량을 Kbyte 단위로 표시현재 시스템에서 사용중이지 않은 메모리의 량을 Kbyte단위로 표시현재 시스템에서 공유한 메모리의 용량을 표시현재 시스템에서 buffering된 메모리의 량을 표시현재 시스템에서 caching된 ㅣ메모리의 량을 표시
    • 2줄 -/+ buffers/cache : 현재 캐시 메모리에서 버퍼링된 사용량을 표시(used/free)
    • 3줄 Swap : 서버설치 시에 결정한 스왑메모리의 량, 스왑메모리는 디스크의 일부분을 메모리로 잡아서 설정되기 때문에 스왑메모리가 많이 사용되고 있다는 것은 시스템의 전체적인 속도가 떨어진다는 것을 의미하며 지속적으로 스왑메모리가 사용된다는 것은 결국 실제 메모리를 증설해야 한다는 것이다.

      total
      used
      free
      시스템의 전체 스왑메모리의 량을 표시전체 스왑메모리 중에서 현재 사용중인 스왑메모리의 량을 표시전체 스왑메모리중에서 사용되지 않고 남아 있는 메모리의 량
  5. iotop
    1. 별도의 설치 필요함, Python 2.5+, linux kernel 2.6.20+ 이 2개의 프로그램이 기본적으로 설치되어 있어야 함

      TIDPRIOUSERDISK READDISK WRITESWAPINIOCOMMAND


CPU - perf, top, htop

Memory - valgrind, smem

Disk I/O - nmon, bonnie, sysstat

Network - netperf, iftop, netstat


출처: http://visu4l.tistory.com/398

반응형

관련글 더보기

댓글 영역