Oracle® Solaris 11.2의 리소스 관리

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

프로젝트의 각 작업에 대한 LWP 최대값을 설정하는 방법

이 절차는 x-files라는 프로젝트를 /etc/project 파일에 추가하고 해당 프로젝트에서 만들어진 작업에 대한 LWP 최대값을 설정합니다.

  1. 루트 또는 동등한 역할의 사용자로 로그인합니다.
  2. projadd 명령을 –K 옵션과 함께 사용하여 x-files라는 프로젝트를 만듭니다. 프로젝트에서 만들어진 각 작업의 LWP 최대값을 3으로 설정합니다.
    # projadd -K 'task.max-lwps=(privileged,3,deny)' x-files
  3. 다음 중 한 가지 방법을 사용하여 /etc/project 파일의 항목을 확인합니다.
    • 다음을 입력합니다.

      # projects -l
      system
              projid : 0
              comment: ""
              users  : (none)
              groups : (none)
              attribs: 
      .
      .
      .
      x-files
              projid : 100
              comment: ""
              users  : (none)
              groups : (none)
              attribs: task.max-lwps=(privileged,3,deny)
    • 다음을 입력합니다.

      # cat /etc/project
      system:0:System:::
      .
      .
      .
      x-files:100::::task.max-lwps=(privileged,3,deny)
예 7-1  예제 세션

이 절차의 단계를 구현한 후 루트 사용자가 x-files 프로젝트에서 프로젝트를 newtask와 연결하여 새 작업을 만들면 이 작업을 실행하는 동안에는 사용자가 세 개를 초과하는 LWP는 만들 수 없게 됩니다. 이것이 아래의 예제 세션에 주석으로 표시되어 있습니다.

# newtask -p x-files csh

# prctl -n task.max-lwps $$
process: 111107: csh
NAME    PRIVILEGE    VALUE    FLAG   ACTION            RECIPIENT
task.max-lwps
        usage            3
        privileged       3       -   deny                      -
        system       2.15G     max   deny                      -
# id -p
uid=0(root) gid=1(other) projid=100(x-files)

# ps -o project,taskid -p $$
 PROJECT TASKID
 x-files    73

# csh        /* creates second LWP */

# csh        /* creates third LWP */

# csh        /* cannot create more LWPs */
Vfork failed
#