JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 관리: 일반 작업     Oracle Solaris 11 Information Library (한국어)
search filter icon
search icon

문서 정보

본 문서 정보

1.  Oracle Solaris 명령에 대한 정보 찾기

2.  사용자 계정 및 그룹 관리(개요)

3.  사용자 계정 및 그룹 관리(작업)

4.  Oracle Solaris 시스템 부트 및 종료

5.  Oracle Configuration Manager 작업

6.  서비스 관리(개요)

7.  서비스 관리(작업)

8.  Fault Manager 사용

9.  시스템 정보 관리(작업)

10.  시스템 프로세스 관리(작업)

시스템 프로세스 관리(작업 맵)

시스템 프로세스 관리 명령

ps 명령 사용

/proc 파일 시스템 및 명령 사용

프로세스 명령을 사용하여 프로세스 관리(/proc)

프로세스를 나열하는 방법

프로세스에 대한 정보를 표시하는 방법

프로세스를 제어하는 방법

프로세스 종료(pkill, kill)

프로세스를 종료하는 방법(pkill)

프로세스를 종료하는 방법(kill)

프로세스 디버깅(pargs, preap)

프로세스 클래스 정보 관리(작업 맵)

프로세스 클래스 정보 관리

프로세스의 스케줄링 우선 순위 변경(priocntl)

프로세스 클래스에 대한 기본 정보를 표시하는 방법(priocntl)

프로세스의 전역 우선 순위를 표시하는 방법

프로세스 우선 순위를 지정하는 방법(priocntl )

시간 공유 프로세스의 스케줄링 매개변수를 변경하는 방법(priocntl)

프로세스의 클래스를 변경하는 방법(priocntl)

시간 공유 프로세스의 우선 순위 변경(nice)

프로세스의 우선 순위를 변경하는 방법(nice)

시스템 프로세스의 문제 해결

11.  시스템 성능 모니터링(작업)

12.  소프트웨어 패키지 관리(작업)

13.  디스크 사용 관리(작업)

14.  시스템 작업 일정 잡기(작업)

15.  CUPS를 사용하여 프린터 설정 및 관리(작업)

16.  시스템 콘솔, 터미널 장치 및 전원 서비스 관리(작업)

17.  시스템 충돌 정보 관리(작업)

18.  코어 파일 관리(작업)

19.  시스템 및 소프트웨어 문제 해결(작업)

20.  기타 시스템 및 소프트웨어 문제 해결(작업)

색인

프로세스 클래스 정보 관리

다음 목록은 시스템에서 구성할 수 있는 프로세스 스케줄링 클래스를 나타냅니다. 또한 시간 공유 클래스에 대한 사용자가 우선 순위 범위도 포함되어 있습니다.

가능한 프로세스 스케줄링 클래스는 다음과 같습니다.

프로세스의 스케줄링 우선 순위 변경(priocntl)

프로세스의 스케줄링 우선 순위는 스케줄링 정책에 따라 프로세스 스케줄러에서 할당한 우선 순위입니다. dispadmin 명령은 기본 스케줄링 정책을 나열합니다. 자세한 내용은 dispadmin(1M) 매뉴얼 페이지를 참조하십시오.

priocntl 명령을 사용하여 프로세스를 우선 순위 클래스에 할당하고 프로세스 우선 순위를 관리할 수 있습니다. priocntl 명령을 사용하여 프로세스를 관리하는 방법에 대한 자세한 내용은 프로세스 우선 순위를 지정하는 방법(priocntl )을 참조하십시오.

프로세스 클래스에 대한 기본 정보를 표시하는 방법(priocntl)

예 10-4 프로세스 클래스에 대한 기본 정보 표시(priocntl)

다음 예는 priocntl -l 명령의 출력을 보여줍니다.

# priocntl -l
CONFIGURED CLASSES
==================

SYS (System Class)

TS (Time Sharing)
        Configured TS User Priority Range: -60 through 60

FX (Fixed priority)
        Configured FX User Priority Range: 0 through 60

IA (Interactive)
        Configured IA User Priority Range: -60 through 60

프로세스의 전역 우선 순위를 표시하는 방법

예 10-5 프로세스의 전역 우선 순위 표시

다음 예에서는 ps -ecl 명령 출력을 보여줍니다. PRI 열의 값은 pageout 프로세스의 우선 순위가 가장 높고, sh 프로세스의 우선 순위가 가장 낮음을 나타냅니다.

$ ps -ecl
 F S    UID   PID  PPID  CLS PRI     ADDR     SZ    WCHAN TTY         TIME CMD
 1 T      0     0     0  SYS  96        ?      0          ?         0:11 sched
 1 S      0     5     0  SDC  99        ?      0        ? ?         0:01 zpool-rp
 0 S      0     1     0   TS  59        ?    688        ? ?         0:00 init
 1 S      0     2     0  SYS  98        ?      0        ? ?         0:00 pageout
 1 S      0     3     0  SYS  60        ?      0        ? ?         2:31 fsflush
 1 S      0     6     0  SDC  99        ?      0        ? ?         0:00 vmtasks
 0 S     16    56     1   TS  59        ?   1026        ? ?         0:01 ipmgmtd
 0 S      0     9     1   TS  59        ?   3480        ? ?         0:04 svc.star
 0 S      0    11     1   TS  59        ?   3480        ? ?         0:13 svc.conf
 0 S      0   162     1   TS  59        ?    533        ? ?         0:00 pfexecd
 0 S      0  1738  1730   TS  59        ?    817        ? pts/ 1       0:00 bash
 0 S      1   852     1   TS  59        ?    851        ? ?         0:17 rpcbind
 0 S     17    43     1   TS  59        ?   1096        ? ?         0:01 netcfgd
 0 S     15    47     1   TS  59        ?    765        ? ?         0:00 dlmgmtd
 0 S      0    68     1   TS  59        ?    694        ? ?         0:01 in.mpath
 0 S      1  1220     1   FX  60        ?    682        ? ?         0:00 nfs4cbd
 0 S     16    89     1   TS  59        ?   1673        ? ?         0:02 nwamd
 0 S      0   146     1   TS  59        ?    629        ? ?         0:01 dhcpagen
 0 S      1   129     1   TS  59        ?   1843        ? ?         0:00 kcfd
 0 S      1  1215     1   FX  60        ?    738        ? ?         0:00 lockd
 0 S      0   829   828   TS  59        ?    968        ? ?         0:00 hald-run
 0 S      0   361     1   TS  59        ?   1081        ? ?         0:01 devfsadm
 0 S      0   879     1   TS  59        ?   1166        ? ?         0:01 inetd
 0 O 119764  1773   880   TS  59        ?    557          cons ole     0:00 ps
 0 S      0   844   829   TS  59        ?    996        ? ?         0:00 hald-add
 0 S      0   895   866   TS  59        ?    590        ? ?         0:00 ttymon
 0 S      0   840     1   TS  59        ?    495        ? ?         0:00 cron
 0 S      0   874     1   TS  59        ?    425        ? ?         0:00 utmpd
 0 S      0  1724   956   TS  59        ?   2215        ? ?         0:00 sshd
 0 S 119764   880     9   TS  59        ?    565        ? cons ole     0:00 csh
 0 S      0   210     1   TS  59        ?   1622        ? ?         0:00 sysevent
 0 S      0   279     1   TS  59        ?    472        ? ?         0:00 iscsid
 0 S      1  1221     1   TS  59        ?   1349        ? ?         0:00 nfsmapid
 1 S      0   374     0  SDC  99        ?      0        ? ?         0:00 zpool-us
 0 S      0  1207     1   TS  59        ?   1063        ? ?         0:00 rmvolmgr
 0 S      0   828     1   TS  59        ?   1776        ? ?         0:03 hald
 0 S      0   853   829   TS  59        ?    896        ? ?         0:02 hald-add
 0 S      0   373     1   TS  59        ?    985        ? ?         0:00 picld
 0 S      0   299     1   TS  59        ?    836        ? ?         0:00 dbus-dae
 0 S  12524  1730  1725   TS  59        ?    452        ? pts/ 1       0:00 csh
 0 S      0   370     1   TS  59        ?    574        ? ?         0:00 powerd
 0 S      0   264     1   FX  60        ?    637        ? ?         0:00 zonestat
 0 S      0   866     9   TS  59        ?    555        ? ?         0:00 sac
 0 S      0   851   829   TS  59        ?    998        ? ?         0:00 hald-add
 0 S  12524  1725  1724   TS  59        ?   2732        ? ?         0:00 sshd
 0 S      1  1211     1   TS  59        ?    783        ? ?         0:00 statd
 0 S      0  1046     1   TS  59        ?   1770        ? ?         0:13 intrd
 0 S      0   889     1   TS  59        ?   1063        ? ?         0:00 syslogd
 0 S      0  1209     1   TS  59        ?    792        ? ?         0:00 in.ndpd
 0 S      0  1188  1186   TS  59        ?    951        ? ?         0:15 automoun
 0 S      0  1172   829   TS  59        ?    725        ? ?         0:00 hald-add
 0 S      0  1186     1   TS  59        ?    692        ? ?         0:00 automoun
 0 S    101  1739  1738   TS  59        ?    817        ? pts/ 1       0:00 bash
 0 S      0  1199     1   TS  59        ?   1495        ? ?         0:02 sendmail
 0 S      0   956     1   TS  59        ?   1729        ? ?         0:00 sshd
 0 S     25  1192     1   TS  59        ?   1528        ? ?         0:00 sendmail
 0 S      0   934     1   TS  59        ?   6897        ? ?         0:14 fmd
 0 S      0  1131     1   TS  59        ?   1691        ? ?         0:07 nscd
 0 S      1  1181     1   TS  59        ?    699        ? ?         0:00 ypbind
 

프로세스 우선 순위를 지정하는 방법(priocntl )

  1. 루트 역할로 전환합니다.
  2. 지정된 우선 순위의 프로세스를 시작합니다.
    # priocntl -e -c class -m user-limit -p pri command-name
    -e

    명령을 실행합니다.

    -c class

    프로세스를 실행할 클래스를 지정합니다. 유효한 클래스는 TS(시간 공유), RT(실시간), IA(대화식), FSS(공유) 및 FX(고정 우선 순위)입니다.

    -m user-limit

    이 옵션과 함께 -p 옵션을 사용할 경우 우선 순위를 높이거나 낮출 수 있는 최대 양도 지정됩니다.

    -p pri command-name

    실시간 스레드에 대해 RT 클래스의 상대 우선 순위를 지정할 수 있습니다. 시간 공유 프로세스의 경우 -p 옵션을 사용하여 -60부터 +60까지 사용자 지정 우선 순위를 지정할 수 있습니다.

  3. 프로세스 상태를 확인합니다.
    # ps -ecl | grep command-name

예 10-6 프로세스 우선 순위 지정(priocntl)

다음 예는 가능한 가장 높은 사용자 지정 우선 순위로 find 명령을 시작하는 방법을 보여줍니다.

# priocntl -e -c TS -m 60 -p 60 find . -name core -print
# ps -ecl | grep find

시간 공유 프로세스의 스케줄링 매개변수를 변경하는 방법(priocntl)

  1. 루트 역할로 전환합니다.
  2. 실행 중인 시간 공유 프로세스의 스케줄링 매개변수를 변경합니다.
    # priocntl -s -m user-limit [-p user-priority] -i idtype idlist
    -s

    사용자 우선 순위 범위에 대한 상한을 설정하고 현재 우선 순위를 변경할 수 있습니다.

    -m user-limit

    -p 옵션을 사용할 때 우선 순위를 높이거나 낮출 수 있는 최대 양을 지정합니다,

    -p user-priority

    우선 순위를 지정할 수 있습니다.

    -i xidtype xidlist

    xidtype xidlist의 조합을 사용하여 프로세스를 식별합니다. xidtype은 프로세스 ID 또는 사용자 ID와 같은 ID의 유형을 지정합니다. xidlist를 사용하여 프로세스 ID 또는 사용자 ID의 목록을 식별합니다.

  3. 프로세스 상태를 확인합니다.
    # ps -ecl | grep idlist

예 10-7 시간 공유 프로세스의 스케줄링 매개변수 변경(priocntl )

다음 예는 500밀리초 간격, RT 클래스의 우선 순위 20 및 전역 우선 순위 120으로 명령을 실행하는 방법을 보여줍니다.

# priocntl -e -c RT -m 500 -p 20 myprog
# ps -ecl | grep myprog

프로세스의 클래스를 변경하는 방법(priocntl)

  1. (옵션) 루트 역할로 로그인합니다.
  2. 프로세스의 클래스를 변경합니다.
    # priocntl -s -c class -i idtype idlist
    -s

    사용자 우선 순위 범위에 대한 상한을 설정하고 현재 우선 순위를 변경할 수 있습니다.

    -c class

    프로세스를 변경하는 클래스(시간 공유의 경우 TS 또는 실시간의 경우 RT)를 지정합니다.

    -i idtype idlist

    xidtype xidlist의 조합을 사용하여 프로세스를 식별합니다. xidtype은 프로세스 ID 또는 사용자 ID와 같은 ID의 유형을 지정합니다. xidlist를 사용하여 프로세스 ID 또는 사용자 ID의 목록을 식별합니다.


    주 - 실시간 프로세스에서 또는 실시간 프로세스로 프로세스를 변경하려면 루트 사용자이거나 실시간 셸에서 작업 중이어야 합니다. 수퍼유저가 사용자 프로세스를 실시간 클래스로 변경할 경우 이후 사용자는 priocntl -s 명령을 사용하여 실시간 스케줄링 매개변수를 변경할 수 없습니다.


  3. 프로세스 상태를 확인합니다.
    # ps -ecl | grep idlist

예 10-8 프로세스의 클래스 변경(priocntl)

다음 예는 사용자 15249에 속한 모든 프로세스를 실시간 프로세스로 변경하는 방법을 보여줍니다.

# priocntl -s -c RT -i uid 15249
# ps -ecl | grep 15249

시간 공유 프로세스의 우선 순위 변경(nice)

nice 명령은 이전 릴리스에 대한 역호환성을 위해서만 지원됩니다. priocntl 명령이 프로세스 관리에서 더욱 많은 유연성을 제공합니다.

프로세스의 우선 순위는 스케줄링 클래스의 정책 및 해당 nice 번호로 결정됩니다. 각 시간 공유 프로세스에는 전역 우선 순위가 있습니다. 전역 우선 순위는 nice 또는 priocntl 명령의 영향을 받을 수 있는 사용자 지정 우선 순위와 시스템 계산 우선 순위를 더하여 계산됩니다.

프로세스의 실행 우선 순위 번호는 운영 체제에서 할당합니다. 우선 순위 번호는 프로세스의 스케줄링 클래스, 사용한 CPU 시간 및 시간 공유 프로세스의 경우 해당 nice 번호를 포함한 여러 요소로 결정됩니다.

각 시간 공유 프로세스는 상위 프로세스에서 상속된 기본 nice 번호로 시작됩니다. nice 번호는 ps 보고서의 NI 열에 표시됩니다.

사용자는 사용자 지정 우선 순위를 높여 프로세스의 우선 순위를 낮출 수 있습니다. 하지만 수퍼유저만 nice 번호를 낮추어 프로세스의 우선 순위를 높일 수 있습니다. 이 제한 사항은 사용자가 자신의 프로세스 우선 순위를 높여 CPU를 독점하지 못하도록 합니다.

nice 번호의 범위는 0부터 +39까지이며, 0이 가장 높은 우선 순위를 나타냅니다. 각 시간 공유 프로세스에 대한 nice 기본값은 20입니다. 표준 버전인 /usr/bin/nice와 C 셸 내장 명령의 두 가지 버전의 명령을 사용할 수 있습니다.

프로세스의 우선 순위를 변경하는 방법(nice)

이 절차에 따라 사용자가 프로세스의 우선 순위를 낮출 수 있습니다. 하지만 root 사용자는 프로세스의 우선 순위를 높이거나 낮출 수 있습니다.

  1. 프로세스의 우선 순위를 사용자 또는 수퍼유저로 변경할지 결정합니다. 그런 다음, 다음 중 하나를 선택합니다.
    • 사용자는 단계 2의 예를 따라 명령의 우선 순위를 낮춥니다.
    • 수퍼유저는 단계 3의 예를 따라 명령의 우선 순위를 높이거나 낮춥니다.
  2. 사용자는 nice 번호를 높여 명령의 우선 순위를 낮춥니다.

    다음 nice 명령은 nice 번호를 5단위씩 높여 낮은 우선 순위의 command-name을 실행합니다.

    $ /usr/bin/nice -5 command-name

    위의 명령에서 마이너스 기호는 뒤따르는 옵션을 지정합니다. 이 명령은 다음과 같이 지정할 수도 있습니다.

    $ /usr/bin/nice -n 5 command-name

    다음 nice 명령은 nice 번호를 기본 증분값인 10단위씩 높이지만 최대값인 39를 초과하지 않도록 하여 command-name의 우선 순위를 낮춥니다.

    $ /usr/bin/nice command-name
  3. 수퍼유저는 nice 번호를 변경하여 명령의 우선 순위를 높이거나 낮출 수 있습니다.

    다음 nice 명령은 nice 번호를 10단위씩 낮추지만 최소값인 0 미만이 되지 않도록 하여 command-name의 우선 순위를 높입니다.

    # /usr/bin/nice --10 command-name

    위의 명령에서 첫번째 마이너스 기호는 뒤따르는 옵션을 지정합니다. 두번째 마이너스 기호는 음수를 나타냅니다.

    다음 nice 명령은 nice 번호를 5단위씩 높이지만 최대값인 39를 초과하지 않도록 하여 command-name의 우선 순위를 낮춥니다.

    # /usr/bin/nice -5 command-name

참조

자세한 내용은 nice(1) 매뉴얼 페이지를 참조하십시오.