zonecfg 커맨드는 또한 글로벌 존의 자원 관리를 설정하는데 사용될 수 있습니다.
rcapd 가 향상되었고 이제 존의 물리적 메모리 소모를 제한할 수 있습니다. 여러분은 글로벌 존에서 rcapd 를 사용해서 비-글로벌 존에서의 물리적 메모리 소모를 통제할 수 있습니다. rcapd 와 prstat 둘다 RSS 의 정확한 값을 결정할 수 있도록 향상되었습니다.
새로운 기능은 솔라리스 (네이티브) 존과 리눅스 브랜디드 존에서 둘다 사용이 가능합니다.
글로벌 존에서 zonecfg 사용하기
zonecfg 는 이제 글로벌 존에서 글로벌 존의 자원 관리 설정을 지정하는데에 사용될 수 있습니다.
존 전체 자원 컨트롤을 글로벌 프로퍼티 이름으로 지정할 수 있음
이제 존 전체 컨트롤을 rctl 을 사용하는 대신에 zonefig 의 set global_property_name 서브 커맨드를 사용하여 설정할 수 있습니다. 아래와 같은 존 전체 자원 컨트롤이 사용 가능합니다.
- zone.cpu-shares (선호되는 방법: cpu-shares)
- zone.max-locked-memory ( capped-memory 자원의 locked 프로퍼티가 이 컨트롤을 조정하는데에 더 낳은 방법임.)
- zone.max-lwps (선호되는 방법: max-lwps)
- zone.max-msg-ids (선호되는 방법: max-msg-ids)
- zone.max-sem-ids (선호되는 방법: max-sem-ids)
- zone.max-shm-ids (선호되는 방법: max-shm-ids)
- zone.max-shm-memory (선호되는 방법: max-shm-memory)
- zone.max-swap (capped-memory 자원의 swap 프로퍼티가 이 컨트롤을 조정하는데에 선호되는 방법임.)
글로벌 프로퍼티 사용 예제
zonecfg:my-zone> set cpu-shares=5스케줄링 클래스
여러분은 fair share scheduler (FSS) 를 사용해서 중요도에 따라 존 간의 사용 가능한 CPU 자원의 할당을 조정할 수 있습니다.
명시적으로 새로운 new cpu-shares 프로퍼티를 지정하면 fair share scheduler (FSS) 가 존의 스케줄링 클래스로 사용 됩니다. 그러나 좀 더 선호되는 방법은 FSS 를 dispadmin 커맨드를 이용해서 시스템 기본 클래스로 지정함으로써 모든 존이 시스템 CPU 자원을 공평하게 사용 할 수 있도록 하는 것입니다. 만약 cpu-shares 가 설정되지 않는다면 존은 시스템의 기본 스케줄링 클래스를 사용할 것입니다. 다음의 작업들을 통해 존의 스케줄링 클래스를 설정할 수 있습니다:
- 여러분은 존에 스케줄링 클래스를 설정할때 새로운 scheduling-class 프로퍼티를 zonecfg 에서 사용할 수 있습니다.
- 자원 풀 설비를 통해서 존의 스케줄링 클래스를 설정할 수 있습니다. 만약 존이 pool.scheduler 에 유효한 스케줄링 클래스가 지정되 있는 풀과 연관된다면 존 내의 프로세스들은 기본적으로 그 스케줄링 클래스를 사용 합니다.
- 만약 새로운 cpu-shares rctl 이 설정되고 FSS 가 존의 스케줄링 클래스로 지정되지 않는다면 zoneadmd 은 존이 부팅될때 FSS 를 기본 스케줄링 클래스로 지정합니다.
- 만약 스케줄링 클래스가 지정되지 않는다면 존은 시스템의 기본 스케줄링 클래스를 상속받습니다.
scheduling-class 프로퍼티 사용법
스케줄링 클래스를 FSS 로 설정해 봅시다.
zonecfg:my-zone> set scheduling-class=FSS물리 메모리 컨트롤 및 capped-memory 자원
capped-memory 자원은 physical, swap, 그리고 locked 메모리의 제한을 지정합니다. 각 제한은 선택적이지만 적어도 하나는 지정되어야 합니다.
- 글로벌 존의 rcapd 를 이용해서 존의 메모리를 제한할 것을 계획하고 있다면 이 자원의 값을 결정해야 합니다. physical 프로퍼티는 rcapd 에서 존의 max-rss 값처럼 사용 됩니다.
- capped-memory 자원의 swap 프로퍼티가 zone.max-swap 자원 컨트롤을 설정하는데에 좀 더 선호되는 방법입니다.
- capped-memory 자원의 locked 프로퍼티가 zone.max-locked-memory 자원 컨트롤을 설정하는데에 좀 더 선호되는 방법입니다.
capped-memory 자원 사용법 예제
my-zone 이라는 존의 메모리 제한을 지정합니다. 각 제한은 선택적이지만 반드시 하나는 지정이 되어야 합니다.
zonecfg:my-zone> add capped-memoryzonecfg:my-zone:capped-memory> set physical=50m
zonecfg:my-zone:capped-memory> set swap=100m
zonecfg:my-zone:capped-memory> set locked=30m
zonecfg:my-zone:capped-memory> end
dedicated-cpu 자원
dedicated-cpu 자원을 이용해서 비-글로벌 존에 할당되는 시스템 프로세서의 서브셋을 지정할 수 있습니다. 시스템은 존이 실행되는 동안 동적으로 임시 풀을 생성할 것입니다.
주의: dedicated-cpu 자원은 cpu-shares rctl 의 pool 프로퍼티와 호환되지 않습니다.dedicated-cpu 자원 사용법 예제
dedicated-cpu 자원은 CPU 의 숫자를 제한하고 추가적으로 풀의 상대적인 중요성을 설정할 수 있습니다.
다음의 예는 존 my-zone 의 CPU 숫자 범위를 지정한 예제 입니다.동적인 자원 풀 을 위해 범위를 지정한다면 다음을 따르시기 바랍니다:zonecfg:my-zone> add dedicated-cpu
zonecfg:my-zone:dedicated-cpu> set ncpus=1-3
zonecfg:my-zone:dedicated-cpu> set importance=2
zonecfg:my-zone:dedicated-cpu> end
- importance 프로퍼티를 지정합니다.
- System Administration Guide 의 "Enabling and Disabling the Pools Facility" 에 설명한 대로 동적 자원 풀을 활성화 시킵니다: docs.sun.com 에 있는 Solaris Containers--Resource Management 와 Solaris Zones
참고.
clear 서브커맨드
이 새로운 서브커맨드는 선택적인 설정들의 값들을 초기화 하는데 사용됩니다. 필수 설정 값들은 초기화 될 수 없습니다. 그러나 몇몇 필 수 값들도 새로운 값을 지정함으로써 변경될 수 있습니다.
clear 서브커맨트 사용 예제
zonecfg:my-zone> clear pool
zonecfg:my-zone> clear pool추가 정보
추가 정보는 System Administration Guide: Solaris Containers--Resource Management and Solaris Zones 를 참고하시기 바랍니다.
이 아티클의 영문 원본은
http://opensolaris.org/os
에서 볼수 있습니다.



전체

댓글을 달아 주세요
댓글을 쓰시려면 로그인해주세요.