리소스 제어 값에 대한 동작 범주에는 전역과 로컬의 두 가지가 있습니다.
전역 동작은 시스템의 모든 리소스 제어에 대한 리소스 제어 값에 적용됩니다. rctladm(1M) 매뉴얼 페이지에 설명된 rctladm 명령을 사용하여 다음 동작을 수행할 수 있습니다.
활성 시스템 리소스 제어의 전역 상태 표시
전역 로깅 동작 설정
리소스 제어에 대한 전역 로깅 동작을 사용 또는 사용 안함으로 설정할 수 있습니다. 심각도 레벨을 지정하여(syslog=level) syslog 동작을 특정 레벨로 설정할 수 있습니다. level에 사용할 수 있는 설정은 다음과 같습니다.
debug
info
notice
warning
err
crit
alert
emerg
기본적으로 리소스 제어 위반에 대한 전역 로깅은 없습니다. n/a 레벨은 전역 동작을 구성할 수 없는 리소스 제어를 나타냅니다.
제어 값을 초과하려는 프로세스에 대해 로컬 동작이 수행됩니다. 리소스 제어에 설정된 각 임계값에 대해 하나 이상의 동작을 연결할 수 있습니다. 로컬 동작에는 none, deny 및 signal=의 세 가지 유형이 있습니다. 이러한 세 가지 동작은 다음과 같이 사용됩니다.
임계치보다 많은 양의 리소스 요청에 대해 동작이 수행되지 않습니다. 이 동작은 응용 프로그램 진행에 영향을 주지 않고 리소스 사용을 모니터링하는 데 유용합니다. 또한 임계치를 초과하는 프로세스에 영향을 주지 않지만 리소스 제어가 초과될 때 표시되는 전역 메시지를 사용으로 설정할 수도 있습니다.
임계치보다 많은 양의 리소스 요청을 거부할 수 있습니다. 예를 들어 task.max-lwps 리소스 제어와 deny 동작을 사용하면 새 프로세스가 제어 값을 초과할 경우 fork 시스템 호출이 실패합니다. fork(2) 매뉴얼 페이지를 참조하십시오.
리소스 제어를 초과할 때 전역 단일 메시지 동작을 사용으로 설정할 수 있습니다. 임계치 값이 초과될 때 신호가 해당 프로세스로 전송됩니다. 해당 프로세스가 추가 리소스를 사용할 경우 추가 신호가 전송되지 않습니다. 사용할 수 있는 신호는 Table 6–3에 나열되어 있습니다.
일부 동작은 리소스 제어에 적용되지 않을 수 있습니다. 예를 들어 프로세스는 자신이 구성원으로 있는 프로젝트에 지정된 CPU 할당 수를 초과할 수 없습니다. 따라서 project.cpu-shares 리소스 제어에는 거부(deny) 동작이 허용되지 않습니다.
구현 제한으로 인해 각 컨트롤의 전역 등록 정보는 임계치 값에 설정할 수 있는 사용 가능한 동작의 범위를 제한할 수 있습니다. rctladm(1M) 매뉴얼 페이지를 참조하십시오. 사용 가능한 신호 동작 목록은 다음 표에 나와 있습니다. 신호에 대한 자세한 내용은 signal(3HEAD) 매뉴얼 페이지를 참조하십시오.
|