RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'uptime'에 해당되는 글 1

출처 : 대전국제IT교육센터 정성재 강사

 

1. 프로세스 관련 고급 명령어
(1) pidof
   1) 설명: 실행중인 특정 프로그램의 프로세스 ID를 출력해준다.
   2) 사용법
     pidof 프로그램명
   3) 사용예
     [root@www root]# pidof httpd
     1494 1491 1318 1315 1047 1046 1045 1044 1043 1026
      => httpd 프로세스의 PID를 나열해 준다.
(2) vmstat
   1) 설명: 프로세스, 메모리, 페이징 ,블럭장치의 I/O, CPU의 활동상태등을 보여주는 명령이다.
   2) 사용법
     vmstat [options]
   3) options
     -n : delay시간 및 count를 지정할 수 있다.
     -V : 버전을 보여준다.
   4) 사용예
    ㄱ. [root@www root]# vmstat
           procs                      memory    swap          io     system         cpu
         r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
         0  0  0  27168  90772  16940 374468   0   2   520    40  562    81   3   1  96
          => (설명)
            a. procs
              - r : 실행시간을 위해 기다리고 있는 프로세스의 수
              - b : 계속 잠들어 있는 프로세스의 수
              - w : swapped out 되었거나 실행가능한 프로세스의 수
            b. memory
              - swpd : 가상메모리로 사용되고 있는 양(KB)
              - free : 쉬고 있는 메모리의 양(KB)
              - buff : buffer에서 사용하고 있는 메모리양(KB)
              - cache : cache로 사용하고 있는 메모리양(KB)
            c. swap
              - si : 디스크에 swapped in된 양(KB)
              - so : 디스크에서 swapped out된 양(KB)
            d. io
              - bi : 블록 디바이스에 보낸 블록수 (blocks/s)
              - bo : 블록 디바이스로 부터 받은 블록수 (blocks/s)
            e. system
              - in : 초당 발생한 interrupts의 수
              - cs : 초당 발생한 context switches(문맥 교환)의 수
            f. cpu : us, sy, id를 총 100 퍼센트로 보고 각각의 퍼센트로 보여준다.
              - us : 사용자에 의해 사용된 시간
              - sy : 시스템에 의해 사용된 시간
              - id : idle 시간
    ㄴ. [root@www root]# vmstat -n 3 10
          => 3초 간격으로 10개의 결과를 출력한다.
(3) uptime
   1) 설명: 현재 로그인한 후의 총 시간과 시스템 사용 현황을 보여준다.
   2) 사용법
     uptime
   3) 사용예
     [root@www root]# uptime
     12:10am  up  4:16,  2 users,  load average: 0.16, 0.08, 0.02
      => 현재시간, 로그인된 시간, 사용자수, load average를 보여준다. load average는 지난 1분,
        5분, 15분에 대한 평균이다.
(4) iostat
   1) 설명: CPU의 상태와 I/O 장치의 상태를 보여주는 명령이다.
   2) 사용법
     iostat [option]
   3) option
      간격 개수: 앞의 간격(초단위)로 개수만큼 화면에 보여준다.
      -k : kilobytes단위로 보여준다.
      -c : CPU상태만 보여준다.
      -d : 디바이스상태만 보여준다.
      -x : 파티션 단위로 상태를 보여준다.
   4) 사용예
    ㄱ. [root@www root]# iostat
        Linux 2.4.18-14 (www)   2003년 02월 02일

        avg-cpu:  %user   %nice    %sys   %idle
                   0.41    0.00    0.15   99.43

        Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
        dev3-0            2.42        48.32        23.84   21530882   10620936
         => (설명)
           1. avg-cpu: CPU의 상태를 나타낸다.
             1) %user : 사용자레벨에서 사용한 양을 퍼센트단위로 보여준다.
             2) %nice : 사용자레벨에서 nice 순위와 관련하여 사용한 양을 퍼센트단위로 보여준다.
             3) %sys : 시스템레벨(커널)에서 사용한 양을 퍼센트단위로 보여준다.
             4) %idle : CPU가 대기한 상태를 퍼센트로 보여준다.
           2. Device: 입출력장치의 상태를 나타낸다.
             1) %tps : 디바이스에서 초당 전송하는 갯수를 나타낸다.
             2) Blk_read/s : 초당 읽어들이는 블록의 갯수이다.
             3) Blk_wrtn/s : 초당 쓰여지는 블록의 갯수이다.
             4) Blk_read : 블록이 읽혀진 총 갯수이다.
             5) Blk_wrtn : 블록이 쓰여진 총 갯수이다.
    ㄴ. [root@www root]# iostat 1 5
         => 1초 간격으로 5번 화면에 보여준다.
    ㄷ. [root@www root]# iostat -k
         => kilobytes단위로 보여준다.
   5) 참고
     시스템 상태를 보여주는 명령인 iostat와 sar는 sysstat라는 패키지에 의해 설치된다. 두 명령
    의 결과값 형태가 유사하다.
(5) sar
   1) 설명: 시스템의 활동에 관한 정보를 수집하고 보여주고 저장하는 명령이다. 이 명령은 OS에서
           일어나는 활동상태를 누적시켜 표준출력으로 기록한다.
   2) 사용법
     sar [option] 간격 횟수
   3) option
     -o 파일명: 출력값을 주어진 파일명으로 binary로 저장한다.
     -f 파일명: binary로 저장된 값을 불러온다.
     -A : 모든 정보를 출력한다.
     -b : I/O관련 전송율 상태 정보를 출력한다.
     -B : 페이징 통계 정보를 출력한다.
     -c : 새롭게 생성되어 활동하는 프로세스의 정보를 보여준다.
     -e hh:mm:dd : -f 또는 -o 옵션과 같이 사용되는 옵션으로 리포트의 종료시간을 지정한다.
     -n DEV | EDEV | SOCK | FULL : 네트워크 상태정보를 보여준다.
     -r : 메모리와 스왑 공간의 상태를 보여준다.
     -s hh:mm:dd : -f과 같이 사용되는 옵션으로 불러온 파일의 시간을 지정한다.
     -u : cpu의 정보를 보여준다.
     -v : 커널 테이블과 파일에서의 inode상태를 보여준다.
     -w : 시스템의 switching 활동 상태를 보여준다.
     -W : 시스템의 swapping 상태를 보여준다.
   4) 사용예
    ㄱ. [root@www root]# sar
         => CPU의 최근 상태를 보여준다.
    ㄴ. [root@www root]# sar 0
         => 시스템이 시작 된 후 평균 상태를 보여준다.
    ㄷ. [root@www root]# sar 1 5
         => 1초간격으로 5회 보여준다.
    ㄹ. [root@www root]# sar 1 10 -o system
         => 1초간격으로 10회동안의 출력을 system파일로 저장한다.
    ㅁ. [root@www root]# sar -f system
         => system이라는 파일에 저장된 값을 화면에 보여준다.
    ㅂ. [root@www root]# sar -b
         => I/O 전송율관련 정보를 보여준다.
           (설명) 출력정보
                 tps : 물리적디스크에서 초당 전송하는 갯수
                 rtps : 물리적 디스크에서 요청한 초당 읽기 횟수
                 wtps : 물리적 디스크에서 요청한 초당 쓰기 횟수
                 bread/s : 블록에서 초당 읽은 데이타의 총 횟수
                 bwrtn/s : 블록에서 초당 쓰여진 데이타의 총 횟수
    ㅅ. [root@www root]# sar -c
         => proc/s 라는 단위로 초당 활동하는 프로세스의 수를 보여준다.
    ㅇ. [root@www root]# sar -e 12:00:00 -f
         => 오늘 기록된 파일(예 /var/log/sa/sa01)에서 12시까지의 기록만을 보여준다.
    ㅈ. [root@www root]# sar -n FULL
         => 네트워크의 모든 상태정보를 보여준다.
           1. DEV : 네트워크 장치로부터의 결과를 보여준다.
             1) IFACE : 네트워크 인터페이스의 이름
             2) rxpck/s : 초당 받은 패킷수
             3) txpck/s : 초당 전송한 패킷수
             4) rxbyt/s : 초당 받은 바이트수
             5) txbyt/s : 초당 전송한 바이트수
             6) rxcmp/s : 초당 압축한 패킷을 받은 수
             7) txcmp/s : 초당 압축한 패킷을 전송한 수
             8) rxmcst/s : 초당 받은 멀티캐스트 패킷 수
           2. EDEV : 네트워크 장치로부터 에러이거나 실패한 상태정보를 보여준다.
             1) IFACE : 네트워크 인터페이스의 이름
             2) rxerr/s : 초당 받은 불량 패킷의 수
             3) txerr/s : 전송중에 초당 발생한 에러 패킷의 수
             4) coll/s : 전송중에 초당 발생한 충돌 패킷의 수
             5) rxdrop/s : 리눅스 버퍼 공간의 부족으로 패킷을 받는 도중에 초당 drop된 패킷 수
             6) txdrop/s : 리눅스 버퍼 공간의 부족으로 패킷을 전송중에 초당 drop된 패킷의 수
             7) txcarr/s : 전송중에 초당 발생한 carrier-error수
             8) rxfram/s : 패킷을 받는중에 발생한 초당 frame alignment 수
             9) rxfifo/s : 패킷을 받는 중에 발생한 초당 FIFO overrun 수
            10) txfifo/s : 패킷을 전송중에 발생한 초당 FIFO overrun 수
          3. SOCK : 소켓 상태에 대한 정보를 보여준다.
            1) totsck : 사용된 총 소켓수
            2) tcpsck : 현재 사용중인 TCP 소켓수
            3) udpsck : 현재 사용중인  UDP 소켓수
            4) rawsck : 현재 사용중인 RAW 소켓수
            5) ip-frag :현재 사용중인 IP fragments 수
          4. FULL : 모든 내용(DEV, EDEV, SOCK)의 결과를 보여준다.
    ㅊ. [root@www root]# sar -r
         => 메모리와 스왑의 상태정보를 보여준다.
           - kbmemfree : 사용가능한 메모리의 양(kilobytes)
           - kbmemused : 사용중인 메모리의 양, 커널에서 사용중인 메모리는 제외(kilobytes)
           - %memused : 사용된 메모리의 퍼센트
           - kbmemshrd : 시스템에서 공유메모리로 사용된 메모리양, 리눅스 2.4커널에서는 항상
                        0이다.(kilobytes)
           - kbbuffers : 커널에서 버퍼로 사용한 메모리양(kilobytes)
           - kbcached : 커널에서 캐쉬로 사용한 메모리양(kilobytes)
           - kbswpfree : 스왑으로 사용가능한 공간(kilobytes)
           - kbswpused : 스왑으로 사용중인 공간 (kilobytes)
           - %swpused : 사용된 스왑의 퍼센트
    ㅋ. [root@www root]# sar -v
         => inode의 상태를 보여준다.
           - dentunusd : 디렉토리 캐쉬에서 사용되지 않는 캐쉬 entries
           - file-sz : file handles의 사용량
           - %file-sz : 리눅스 커널에서 할당할 수 있는 최대 파일 핸들 수에 대한 퍼센트
           - inode-sz : inode handlers의 사용량
           - super-sz : 커널에 의해 할당된 super block handlers의 수
           - %super-sz : 리눅스 커널에서 할당할 수 있는 최대 super block handlers의 퍼센트
           - dquot-sz : Disk Quota entries의 수
           - %dquot-sz : 캐쉬된 디스크 쿼타 엔트리의 최대 할당했을 때 사용할 수 있는 디스크
                        쿼타 엔트리의 수
           - rtsig-sz : RT 시그널의 대기된 수
           - %rtsig-sz : RT 시그널이 대기되었을 때 최대 대기가능한 RT 시그널의 퍼센트
    ㅌ. [root@www root]# sar -w
         => cswch/s 라는 단위로 초당 context switching 수를 보여준다.
    ㅍ. [root@www root]# sar -W
         => 스와핑상태를 보여준다.
           - pswpin/s : 시스템에서 swap in한 스왑페이지의 수
           - pswout/s : 시스템에서 swpa out한 스왑페이지의 수
   5) 참고
     이 명령은 cron데몬과 /etc/cron.d/sysstat라는 스크립트에 의해 시스템상에 /var/log/sa라는
    디렉토리밑에 'sadd'라는 이름으로 저장된다. dd는 해당 날짜를 의미한다.
(6) procinfo
   1) 설명: /proc 디렉토리의 내용을 화면에 보여준다.
   2) 사용법
     procinfo
   3) 사용예
     [root@www proc]# procinfo
     Linux 2.4.18-14 (bhcompile@stripples) (gcc 3.2 20020903 ) #1 Wed Sep 4 13:35:50 EDT 2002
     \ 1CPU [www]

     Memory:      Total        Used        Free      Shared     Buffers      Cached
     Mem:        513928      505492        8436           0       69308      392432
     Swap:       530104       45176      484928

     Bootup: Sat Feb  1 00:24:05 2003    Load average: 0.00 0.01 0.00 1/86 5959

     user  :       0:30:46.77   0.4%  page in : 10765771  disk 1:   544329r  537511w
     nice  :       0:00:06.80   0.0%  page out:  5327184
     system:       0:11:31.77   0.2%  swap in :      697
     idle  :   5d  3:30:07.98  99.4%  swap out:    11428
     uptime:   5d  4:12:33.00         context : 89723912

     irq  0: 228942504 timer                 irq  7:         2
     irq  1:       868 keyboard              irq  8:         1 rtc
     irq  2:         0 cascade [4]           irq 11:       356 usb-uhci, usb-uhci,
     irq  3:         2                       irq 12:      4247 PS/2 Mouse
     irq  4:         2                       irq 14:   1043283 ide0
     irq  5:   2996177 eth0                  irq 15:   3425753 ide1
     irq  6:         5
(7) fuser
   1) 설명: 사용중인 프로세스의 소유자를 보여주거나 신호를 보낸다.
   2) 사용법
     fuser option [디렉토리명]
   3) option
     -V: fuser 명령의 버전을 보여준다.
     -l: fuser 명령에서 사용하는 시그널목록을 보여준다.
     -v: 프로세스를 PID, USER, ACCESS, COMMAND 등의 형식으로 보여준다.
     -k: KILL 시그널을 보낸다.
     -m: 특정파일, 마운트된 파일시스템, 블록장치 등에게 신호를 보낼 때 k옵션과 같이 쓰인다.
   4) 사용예
    ㄱ. [root@linux245 root]# fuser -v /backup

                             USER        PID ACCESS COMMAND
        /backup              posein      972 ..c..  bash
                             root     kernel mount  /backup
         => /backup 이라는 파티션의 프로세스를 보여준다.
           (참고) ACCESS 의 값
                 c: 현재 디렉토리이다.
                 e: 현재 실행파일을 실행중인 상태이다.
                 f: 파일을 연 상태이다.
                 r: root 디렉토리라는 뜻이다.
                 m: 라이브러리가 공유된 상태이다.
    ㄴ. [root@linux245 root]# fuser -km /backup
          => /backup에 kill신호를 보낸다.

2. /proc 파일 시스템
(1) 설명: /proc파일 시스템은 일반 파일 시스템과는 다른 특수한 파일 시스템으로 프로세스와 커널
          의 내부적인 정보를 제공하기 위한 목적으로 만들어진 파일시스템이다. 사용자가 ps명령어
          를 사용해 프로세스에 대한 정보를 확인할 때 이 파일 시스템에 포함되어 있는 프로세스
          의 정보가 출력되는 것이다. 보통 새로운 프로세스가 생성되면 자동으로 /proc디렉토리에
          해당 PID와 같은 서브 디렉토리가 생성되고, 그 안에 해당 프로세스에 관한 정보가 들어가
          게 된다.
(2) /proc 파일시스템의 구조
   1) 1 : PID 1번에 대한 정보가 있는 디렉토리이다. 다른 PID번호는 해당 프로세스에 대한 정보를
         갖고 있는 디렉토리이다.
   2) cpuinfo : 프로세스에 관한 정보가 들어 있다.
   3) devices : 현재 커널에 설정된 디바이스 드라이버들의 리스트가 들어 있다.
   4) dma : 시스템에 현재 사용중인 DMA(직접 메모리 액세스)의 리스트가 들어있다. 하드웨어 충돌
           시에 이 파일을 참고해야 한다.
   5) interrupts : 시스템에서 사용중인 인터럽트의 리스트가 들어 있다. 역시 하드웨어 충돌시에
                  참고해야 한다.
   6) filesystems : 현재 커널에 설정된 파일 시스템의 리스트가 들어있다.
   7) iomem : 메모리 번지별로 할당된 리스트를 볼 수 있다.
   8) ioports : 시스템에 현재 사용중인 I/O포트의 리스트가 들어있다. 하드웨어 충돌시에 참고해야
               한다.
   9) kcore : 시스템에 장착된 물리적 메모리의 이미지로 실제 하드디스크의 용량을 차지하는 것은
            아니다. 이 파일은 프로그램 실행시 비정상 종료나 프로그램의 디버깅시 유용하게 참고
            할 수 있는 파일이라고 할 수 있다. 시스템에 장착된 램의 크기만큼 형성된다.
   10) kmsg : 커널의 syslogd로 보내는 메시지가 들어 있는 파일이다.
   11) loadavg
    ㄱ. 설명: 일정 간격으로 갱신되는 시스템 로드 정보(평균 부하율)가 들어 있다.
    ㄴ. 예
       [root@www proc]# cat loadavg
       0.03 0.01 0.00 1/86 5989
        => 첫번째는 최근 1분 동안의 서버평균 부하율, 두번째는 최근 5분, 세번째는 최근 15분 동
          안의 서버 평균부하율을 나타낸다. uptime 명령시에도 나타난다.
   12) meminfo : 물리적 메모리와 스왑메모리에 대한 정보가 들어 있다.
   13) modules : 커널에 연결된 모듈에 대한 정보가 들어 있다. 모듈에 관련해 문제가 생겼을 때
                유용하게 참고할 수 있는 파일이다.
   14) mounts: 현재 마운트되어 있는 정보가 들어있다.
   15) pci : 현재 사용중인 PCI의 리스트가 들어 있다.
   16) stat : 커널의 사용 현황이 들어 있다. 이 파일을 참고하면 현재 커널의 상태를 직접 파악할
             수 있다.
   17) uptime : 시스템 가동시간에 대한 정보가 들어 있다. uptime명령어를 사용할 때 uptime명령어
               가 이 파일의 내용을 참고하여 출력하게 된다.
   18) partitions: 시스템에 설치된 하드디스크의 파티션 정보가 들어있다.
   19) version: 커널 버전의 정보를 기록하고 있는 파일이다. uname 명령보다 더 자세한 정보를
               기록하고 있다.
   20) mdstat: RAID 사용시에 RAID에 관한 정보를 기록하고 있다.
   21) /proc/ide 디렉토리 : IDE 컨트롤러 및 드라이브에 대한 정보를 기록하는 디렉토리이다.
   22) /proc/scsi 디렉토리 : SCSI 컨트롤러 및 드라이브에 대한 정보를 기록하는 디렉토리이다.
   23) /proc/sys/kernel 디렉토리
    ㄱ. 설명: 시스템에 관한 정보가 들어있는 디렉토리이다.
    ㄴ. 주요파일
      a. osrelease : 운영체제의 버전을 알 수 있다.
      b. ostype : 운영체제를 알 수 있다.
      c. version : 커널의 생성 날짜를 알려준다. uname -v 명령과 같은 내용이다.
      d. hostname : 호스트이름을 알 수 있다.
      e. sysrq : 매직키라는 특수키를 사용할 수 있는 지 여부를 알 수 있다. 기본값이 '0'이고
                매직키가 사용불가하다.

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
Blah.. blah.. (5)
My Advanced Linux (73)
RedHat Knowledge (10)
Advanced Linux (47)
Virtualization (7)
HA clustering (2)
Bash shell scripts (6)
Learning Linux (96)
Fundamental (41)
AdminCourse (32)
Security (23)
OperatingSystem (5)
AIX (2)
HPUX (3)
Databases (4)
Oralce (3)
Mysql (1)
OpenSource (1)
Tips! (1)
«   2025/07   »
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