26장 . 시스템 정보 모으기

시스템을 설정하는 방법에 대해서 배우시기에 앞서 먼저 기본적인 시스템 정보를 모으는 방법부터 배우셔야 합니다. 예로 들면, 여유 메모리 용량과 사용 가능한 하드 드라이브 공간의 용량을 알아내는 방법, 하드 드라이브 파티션 하는 방법과 실행되고 있는 프로세스 알아내는 방법 등에 대한 정보를 알아 두셔야 합니다. 이 장에서는 간단한 명령어를 사용하여 Red Hat Linux 시스템에서 이러한 유형의 정보를 검색하는 방법을 설명해 보겠습니다. 또한 여러분의 이해를 도울 일부 예시 프로그램도 포함시켰습니다.

26.1. 시스템 프로세스

ps ax 명령어를 사용하면, 현재 시스템 프로세스의 목록 (다른 사용자가 소유한 프로세스도 포함한 목록)을 보여줍니다. ps aux 명령어를 사용하여 프로세스와 그 프로세스의 소유자를 함께 볼 수 있습니다. 나타나는 목록은 정적 목록 입니다; 즉, 이 목록은 명령어가 입력되었을 당시 실행되던 프로세스의 스냅 사진이라고 할 수 있습니다. 만일 실행 중인 프로세스의 목록이 계속적으로 업데이트되기를 원하시면, 아래에서 설명된 top 명령어를 사용하십시오.

ps 명령의 출력 결과는 매우 길 수 있습니다. 화면이 빨리 지나가는 것을 방지하기 위하여 다음처럼 less 명령을 사용하십시오:

ps aux | less

ps 명령과 grep 명령을 사용하여 특정 프로세스의 실행 여부를 확인하실 수 있습니다. 예를 들어, 만일 emacs 프로그램이 실행 중인지 알아보기 위해서는 다음과 같은 명령을 사용합니다:

ps ax | grep emacs

top 명령어는 현재 실행되고 있는 프로세스와 메모리, CPU 사용량과 같은 중요한 정보를 함께 보여줍니다. 프로세스 목록은 실시간으로 업데이트되며 상호 대화식입니다. 다음은 top 명령어를 실행한 출력 결과의 한 예입니다:

 00:53:01  up 6 days, 14:05,  3 users,  load average: 0.92, 0.87, 0.71
71 processes: 68 sleeping, 2 running, 1 zombie, 0 stopped
CPU states:  18.0% user   0.1% system   16.0% nice   0.0% iowait  80.1% idle
Mem:  1030244k av,  985656k used,   44588k free,       0k shrd,  138692k buff
                    424252k actv,   23220k in_d,  252356k in_c
Swap: 2040212k av,  330132k used, 1710080k free                  521796k cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
15775 joe        5   0 11028  10M  3192 S     1.5  4.2   0:46 emacs
14429 root      15   0 63620  62M  3284 R     0.5 24.7  63:33 X
17372 joe       11   0  1056 1056   840 R     0.5  0.4   0:00 top
17356 joe        2   0  4104 4104  3244 S     0.3  1.5   0:00 gnome-terminal
    1 root       0   0   544  544   476 S     0.0  0.2   0:06 init
    2 root       0   0     0    0     0 SW    0.0  0.0   0:00 kflushd
    3 root       1   0     0    0     0 SW    0.0  0.0   0:24 kupdate
    4 root       0   0     0    0     0 SW    0.0  0.0   0:00 kpiod
    5 root       0   0     0    0     0 SW    0.0  0.0   0:29 kswapd
  347 root       0   0   556  556   460 S     0.0  0.2   0:00 syslogd
  357 root       0   0   712  712   360 S     0.0  0.2   0:00 klogd
  372 bin        0   0   692  692   584 S     0.0  0.2   0:00 portmap
  388 root       0   0     0    0     0 SW    0.0  0.0   0:00 lockd
  389 root       0   0     0    0     0 SW    0.0  0.0   0:00 rpciod
  414 root       0   0   436  432   372 S     0.0  0.1   0:00 apmd
  476 root       0   0   592  592   496 S     0.0  0.2   0:00 automount

top 명령에서 빠져나가기 위해서는 [q] 키를 누릅니다.

다음은 top 명령어와 함께 사용할 수 있는 유용한 대화식 명령어 목록입니다:

명령어설명
[Space]즉시 화면을 재생합니다
[h]도움말 화면을 보여줍니다.
[k]프로세스를 강제 종료 (kill) 합니다. 종료할 프로세스 ID와 보낼 신호를 입력하셔야 합니다.
[n]보여줄 프로세스의 수를 변경합니다. 보시려는 프로세스의 수를 입력하셔야 합니다.
[u]사용자에 따라 목록 정렬
[M]메모리 사용량에 따라 목록 정렬
[P]CPU 사용량에 따라 CPU 목록 정렬

표 26-1. 대화식 top 명령어

작은보힌트
 

Mozilla와 Nautilus와 같은 응용 프로그램은 스레드 인식 (thread-aware) — 다수의 사용자와 다중 요청을 처리하기 위하여 생성된 다중 스레드입니다. 각각의 스레드에는 프로세스 ID가 주어집니다. 기본 값으로 ps와 top 명령을 사용하시면 오직 주요 (초기) 스레드만을 볼 수 있습니다. 모든 스레드를 보시려면 ps -m 명령을 사용하시거나 top에서 [Shift]-[H] 키 조합을 누르시면 됩니다.

그래픽 인터페이스로 top 명령 결과를 보시려면 GNOME 시스템 모니터를 사용하십시오. 데스크탑에서 시작하려면 패널에서 메인 메뉴 버튼 => 시스템 도구 => 시스템 모니터를 찾아가시거나 또는 X 윈도우 시스템 내의 쉘 프롬프트에서 gnome-system-monitor라고 입력하시면 됩니다. 그 후 프로세스 목록 탭을 클릭하십시오.

GNOME 시스템 모니터를 사용하여 모든 프로세스, 사용자 프로세스와 실행 중인 프로세스를 검색할 수 있습니다.

특정 프로세스에 대한 보다 상세한 정보를 원하시면, 해당 프로세스를 선택 후 상세 설명 버튼을 클릭하십시오. 창 아래쪽에 프로세스에 대한 자세한 정보가 나타날 것입니다.

특정 프로세스를 종료하시려면, 해당 프로세스를 선택 후 프로세스 종료 버튼을 클릭합니다. 멈춰있는 프로세스를 종료하는데 유용하게 사용됩니다.

특정 행에 따라 정보를 정렬하시려면, 행 이름에 클릭하십시오. 정렬된 행은 어두운 회색으로 나타납니다.

GNOME 시스템 모니터는 스레드를 보여주지 않도록 기본 설정되어 있습니다. 이러한 기본 설정을 바꾸기 위해서는, 편집 => 기본 설정로 가신 후 프로세스 목록 탭을 클릭하시고 스레드 표시를 선택하십시오. 기본 설정에서 갱신 시간을 업데이트하고, 각 프로세스에서 기본으로 표시할 정보의 종류를 결정하며 시스템 모니터 그래프의 색상을 변경할 수 있습니다.

그림 26-1. GNOME 시스템 모니터