2011. 8. 13. 03:00

▣ ps의 칼럼 출력 선택과 보기

[ 옵 션 ]

[ 칼럼 헤드 ]

[ 설 명 ]

%cpu 

%CPU 

프로세스가 사용하는 CPU 점유율

%mem 

%MEM 

프로세스가 사용하는 메모리 점유율

args 

COMMAND 

명령어와 모든 인수를 문자열로 출력

bsdstart 

START 

시작된 시간 : HH:MM or Mon Day

bsdtime 

TIME 

총 CPU 시간 (사용자 및 시스템)

comm

COMMAND 

사용자가 실행한 명령어

cp

CP 

10분1 CPU 사용률

cputime 

TIME 

총 CPU시간 [DD-]HH:MM:SS 형식

egid 

EGID 

이펙티브 그룹ID 프로세스(정수)

egroup 

EGROUP 

이펙티브 그룹ID 프로세스(이름)

etime 

ELAPSED 

프로세스가 실행된 소요시간 출력 [[DD-]HH:]MM:SS 형식

euid 

EUID 

이펙티브 유저ID 프로세스(정수)

euser 

EUSER 

이펙티브 유저ID 프로세스(이름)

fgid 

FGID 

파일시스템 액세스 그룹ID(정수)

fgroup 

FGRUOP 

파일시스템 액세스 그룹ID(이름)

fname 

COMMAND 

명령어의 처음 8문자

fuid 

FUID 

파일시스템 액세스 유저ID(정수)

fuser 

FUSER 

파일시스템 액세스 유저ID(이름)

lstart 

STARTED 

날짜 및 시간 명령을 시작

nice 

NI 

우선순위, 19부터 0까지

pgid 

PGID 

프로세스의 프로세스 그룹ID

pid 

PID 

프로세스의 프로세스 ID 넘버

ppid 

PPID 

프로세스의 부모프로세스 ID

psr

PSR

할당된 프로세스

rgid 

RGID 

실제 그룹ID(정수)

rgourp 

RGOURP 

실제 그룹(이름)

rss 

RSS 

실제 메모리 사용량

rtprio 

RTPRIO 

리얼타임 우선순위

ruid 

RUID 

실제 유저ID(정수)

ruser 

RUSER 

실제 유저(이름)

s 

S 

수면, no interrupt 인터럽트, R:running 실행중, S:sleep

수면, can interrupt 인터럽트, T:stopped 정지, W:paping

sess 

SESS 

세션 지도자의 세션ID

sgio_p

P 

현재 실행중의 프로세스의 프로세서

size 

SZ 

프로세스가 사용하는 자료와 스택크기

start 

STARTED 

프로세스가 시작된 시간 : HH:MM:SS 혹은 Month Day

start_time

START 

프로세스가 시작된 시간 : HH:MM:SS 혹은 Month Day

stat

STAT 

실행되고 있는 프로세스 상태

sz 

SZ 

프로세스의 이미지 크기(물리적 페이지)

tname 

TTY 

tty(터미널) 제어

user 

USER 

이펙티브 유저ID 프로세스(이름)

vsize 

VSZ 

프로세스 가상 메모리(1024 바이트)

 

 

[ ps를 사용하여 활성화 프로세스 보기 ]

♧ 리눅스 시스템은(Unix 계열 시스템뿐만 아니라, BSD, Mac OS X, 여러 가지 리눅스) ps 명령어가 포함.

세월이 흐르면서 많은 다른 버전 및 약간 다른 옵션을 제공하는 ps가 나왔다.

처음에는 Unix 시스템의 ps 날짜 때문에 몇 가지 옵션들을 비표준 방식으로 지원했다.

 

▶ 현재 사용자를 위해 프로세스 실행을 표시할 수 있는 몇 가지 예:

$ ps

현재 쉘에서 현재 프로세스 리스트

$ ps -u devanix

devanix의 모든 프로세스 보여줌 (간단 출력)

$ ps -u devanix u

devanix의 모든 프로세스 보여줌 (CPU/MEM)

$ ps -fu devanix

devanix의 모든 프로세스 보여줌 (PPID)

$ ps -Fu devanix

devanix의 모든 프로세스 보여줌 (SZ/PSR)

 

▶ 현재 시스템에서 실행중인 모든 프로세스에 대한 출력 예:

$ ps -e

모든 실행 프로세스를 보여줌

$ ps -el

긴 목록으로 모든 실행 프로세스를 보여줌

$ ps -ef

전체 형식 목록으로 모든 실행 프로세스를 보여줌

$ ps -eF

전체 형식 목록을 추가하여 모든 실행 프로세스를 보여줌

$ ps ax

간단하게 모든 실행 프로세스를 보여줌 [BSD 스타일]

$ ps aux

긴 목록으로 모든 실행 프로세스를 보여줌 [BSD 스타일]

$ ps auwx

다양한 형식의 긴 목록으로 모든 실행 프로세스를 보여줌 [BSD 스타일]

 

▶ 계층적 프로세스 (tree 형식) :

$ ps -ejH

프로세스/세션 ID를 계층적으로 보여줌

$ ps axjf

BSD 스타일 출력하여 계층적 프로세스를 보여줌

$ ps -ef --forest

forest 형식에서 계층적 프로세스를 보여줌

$ pstree

tree 형식으로 알파벳순으로 프로세스를 보여줌

 

▶ 사용자 칼럼 지정 보기의 몇 가지 예: (-o 옵션 : 사용자 포맷 지정)

$ ps -eo ppid,user,%mem,size,vsize,comm --sort=-size

정렬

$ ps -eo ppid,user,bsdstart,bsdtime,%cpu,args --sort=-%cpu

사용자 CPU 정렬

$ ps -eo ppid,user,nice,cputime,args --sort=-nice

낮은 우선순위 정렬

$ ps -eo ppid,user,stat,tname,sess,cputime,args --sort=user

유저 정렬

☞ --sort 옵션 : 데이터 정렬

 

▷ ps 명령의 몇 가지 다른 예:

$ ps -C httpd

실행중인 httpd 프로세스 표시

$ ps -p 5413 -o pid,ppid,bsdtime,args 

정보 표시

$ ps -U devanix, chris -o pid,ruser,tty,stat,args 

두 명 유저 정보 보여줌

 

 

 

 

[ top을 사용하여 활성화 프로세스 보기 ]

♧ top 명령어는 시스템에서 지속적으로 업데이트하여 실행중인 프로세스를 보여준다.

 

▶ 실행중인 프로세스를 지속적으로 표시하는데 사용할 수 있는 다른 옵션 예:

$ top -d 5

5초마다 지연하여 업데이트(기본 3초)

$ top -u devanix

단지 devanix 유저만 볼 수 있음

$ top -p 192,2690

190과 2690 프로세스만 디스플레이

$ top -n 10

종료하기 전보다 10배 화면 리프레시

$ top -b

결과를 텍스트 모드로 보여주기 때문에 파싱을 하거나 스크립트에서 접근

 

▶ 실행될 때 다른 방법으로 프로세스를 업데이트 및 정렬:

<space> or <Enter>

즉시 프로세스 목록 업데이트

<Shift+n>

PID로 정렬

<Shift+p>

CPU usage로 정렬

<Shift+m>

메모리 usage로 정렬

<Shift+t>

CPU 시간별로 정렬

<

왼쪽으로 정렬

>

오른쪽으로 정렬

f

원하는 칼럼 목록을 선택

d , s

리프레시 설정

u

유저 지정 (선택한 유저 소유의 프로세스만 표시)

k

실행중인 프로세스에 시그널(kill) 보냄.

n , #

프로세스 우선순위 높게 혹은 낮게(음수:높게, 양수: 낮게) 설정

 

 

Posted by devanix