JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1 관리: Oracle Solaris 영역, Oracle Solaris 10 영역 및 리소스 관리     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

제1부Oracle Solaris 리소스 관리

1.  리소스 관리 소개

2.  프로젝트 및 작업(개요)

3.  프로젝트 및 작업 관리

4.  확장 계정(개요)

5.  확장 계정 관리(작업)

확장 계정 기능 관리(작업 맵)

확장 계정 기능 사용

플로우, 프로세스, 작업 및 네트워크 구성 요소에 대해 확장 계정을 활성화하는 방법

확장 계정 상태를 표시하는 방법

사용 가능한 계정 리소스를 보는 방법

프로세스, 작업, 플로우 및 네트워크 관리 계정을 비활성화하는 방법

libexacct에 대한 Perl 인터페이스 사용

exacct 객체의 내용을 반복적으로 인쇄하는 방법

새 그룹 레코드를 만들고 이를 파일에 쓰는 방법

exacct 파일의 내용을 인쇄하는 방법

Sun::Solaris::Exacct::Object->dump()의 출력 예

6.  리소스 제어(개요)

7.  리소스 제어 관리(작업)

8.  FSS(Fair Share Scheduler)(개요)

9.  FSS(Fair Share Scheduler) 관리(작업)

10.  리소스 상한값 지원 데몬을 사용한 물리적 메모리 제어(개요)

11.  리소스 상한값 지원 데몬 관리(작업)

12.  리소스 풀(개요)

13.  리소스 풀 만들기 및 관리(작업)

14.  리소스 관리 구성 예

제2부Oracle Solaris 영역

15.  Oracle Solaris 영역 소개

16.  비전역 영역 구성(개요)

17.  비전역 영역 계획 및 구성(작업)

18.  비전역 영역, 설치, 종료, 정지 및 복제 정보(개요)

19.  비전역 영역 설치, 부트, 종료, 정지, 제거 및 복제(작업)

20.  비전역 영역 로그인(개요)

21.  비전역 영역에 로그인(작업)

22.  영역 마이그레이션 및 zonep2vchk 도구 정보

23.  Oracle Solaris 시스템 마이그레이션 및 비전역 영역(작업) 마이그레이션

24.  영역이 설치된 Oracle Solaris 11.1 시스템의 자동 설치 및 패키지 정보

25.  Oracle Solaris 영역 관리(개요)

26.  Oracle Solaris 영역 관리(작업)

27.  변경할 수 없는 영역 구성 및 관리

28.  그 밖의 기타 Oracle Solaris 영역 문제 해결

제3부Oracle Solaris 10 영역

29.  Oracle Solaris 10 영역 소개

30.  Oracle Solaris 10 시스템 액세스 및 아카이브 만들기

31.  (옵션) Oracle Solaris 10 영역으로 고유 비전역 영역 마이그레이션

32.  solaris10 브랜드 영역 구성

33.  solaris10 브랜드 영역 설치

34.  영역 부트, 로그인 및 영역 마이그레이션

용어집

색인

libexacct에 대한 Perl 인터페이스 사용

exacct 객체의 내용을 반복적으로 인쇄하는 방법

다음 코드를 사용하여 exacct 객체의 내용을 반복적으로 인쇄할 수 있습니다. 이 기능은 라이브러리에서 Sun::Solaris::Exacct::Object::dump() 기능으로 제공됩니다. 또한 이 기능은 ea_dump_object() 편의 기능을 통해서도 사용할 수 있습니다.

sub dump_object
     {
             my ($obj, $indent) = @_;
             my $istr = '  ' x $indent;

             #
             # Retrieve the catalog tag.  Because we are 
             # doing this in an array context, the
             # catalog tag will be returned as a (type, catalog, id) 
             # triplet, where each member of the triplet will behave as 
             # an integer or a string, depending on context.
             # If instead this next line provided a scalar context, e.g.
             #    my $cat  = $obj->catalog()->value();
             # then $cat would be set to the integer value of the 
             # catalog tag.
             #
             my @cat = $obj->catalog()->value();

             #
             # If the object is a plain item
             #
             if ($obj->type() == &EO_ITEM) {
                     #
                     # Note: The '%s' formats provide s string context, so
                     # the components of the catalog tag will be displayed
                     # as the symbolic values. If we changed the '%s'
                     # formats to '%d', the numeric value of the components
                     # would be displayed.
                     #
                     printf("%sITEM\n%s  Catalog = %s|%s|%s\n", 
                        $istr, $istr, @cat);
                     $indent++;

                     #
                     # Retrieve the value of the item.  If the item contains
                     # in turn a nested exacct object (i.e., an item or
                     # group),then the value method will return a reference
                     # to the appropriate sort of perl object
                     # (Exacct::Object::Item or Exacct::Object::Group).
                     # We could of course figure out that the item contained
                     # a nested item orgroup by examining the catalog tag in
                     # @cat and looking for a type of EXT_EXACCT_OBJECT or
                     # EXT_GROUP.
                     #
                     my $val = $obj->value();
                     if (ref($val)) {
                             # If it is a nested object, recurse to dump it.
                             dump_object($val, $indent);
                     } else {
                             # Otherwise it is just a 'plain' value, so
                             # display it.
                             printf("%s  Value = %s\n", $istr, $val);
                     }

             #
             # Otherwise we know we are dealing with a group.  Groups
             # represent contents as a perl list or array (depending on
             # context), so we can process the contents of the group
             # with a 'foreach' loop, which provides a list context.
             # In a list context the value method returns the content
             # of the group as a perl list, which is the quickest
             # mechanism, but doesn't allow the group to be modified.
             # If we wanted to modify the contents of the group we could
             # do so like this:
             #    my $grp = $obj->value();   # Returns an array reference
             #    $grp->[0] = $newitem;
             # but accessing the group elements this way is much slower.
             #
             } else {
                     printf("%sGROUP\n%s  Catalog = %s|%s|%s\n",
                         $istr, $istr, @cat);
                     $indent++;
                     # 'foreach' provides a list context.
                     foreach my $val ($obj->value()) {
                             dump_object($val, $indent);
                     }
                     printf("%sENDGROUP\n", $istr);
             }
     }

새 그룹 레코드를 만들고 이를 파일에 쓰는 방법

이 스크립트를 사용하여 새 그룹 레코드를 만들고 이를 /tmp/exacct라는 파일에 씁니다.

#!/usr/bin/perl

use strict;
use warnings;
use Sun::Solaris::Exacct qw(:EXACCT_ALL);
# Prototype list of catalog tags and values.
     my @items = (
             [ &EXT_STRING | &EXC_DEFAULT | &EXD_CREATOR      => "me"       ],
             [ &EXT_UINT32 | &EXC_DEFAULT | &EXD_PROC_PID     => $$         ],
             [ &EXT_UINT32 | &EXC_DEFAULT | &EXD_PROC_UID     => $<         ],
             [ &EXT_UINT32 | &EXC_DEFAULT | &EXD_PROC_GID     => $(         ],
             [ &EXT_STRING | &EXC_DEFAULT | &EXD_PROC_COMMAND => "/bin/rec" ],
     );

     # Create a new group catalog object.
     my $cat = ea_new_catalog(&EXT_GROUP | &EXC_DEFAULT | &EXD_NONE)

     # Create a new Group object and retrieve its data array.
     my $group = ea_new_group($cat);
     my $ary = $group->value();

     # Push the new Items onto the Group array.
     foreach my $v (@items) {
             push(@$ary, ea_new_item(ea_new_catalog($v->[0]), $v->[1]));
     }

     # Open the exacct file, write the record & close.
     my $f = ea_new_file('/tmp/exacct', &O_RDWR | &O_CREAT | &O_TRUNC)
        || die("create /tmp/exacct failed: ", ea_error_str(), "\n");
     $f->write($group);
     $f = undef;

exacct 파일의 내용을 인쇄하는 방법

다음 Perl 스크립트를 사용하여 exacct 파일의 내용을 인쇄할 수 있습니다.

#!/usr/bin/perl

     use strict;
     use warnings;
     use Sun::Solaris::Exacct qw(:EXACCT_ALL);

     die("Usage is dumpexacct <exacct file>\n") unless (@ARGV == 1);

     # Open the exacct file and display the header information.
     my $ef = ea_new_file($ARGV[0], &O_RDONLY) || die(error_str());
     printf("Creator:  %s\n", $ef->creator());
     printf("Hostname: %s\n\n", $ef->hostname());

     # Dump the file contents
     while (my $obj = $ef->get()) {
             ea_dump_object($obj);
     }

     # Report any errors
     if (ea_error() != EXR_OK && ea_error() != EXR_EOF)  {
             printf("\nERROR: %s\n", ea_error_str());
             exit(1);
     }
     exit(0);

Sun::Solaris::Exacct::Object->dump()의 출력 예

이 출력 예는 새 그룹 레코드를 만들고 이를 파일에 쓰는 방법에서 만든 파일에 대해 Sun::Solaris::Exacct::Object->dump()를 실행하여 생성된 것입니다.

Creator:  root
Hostname: localhost
GROUP
       Catalog = EXT_GROUP|EXC_DEFAULT|EXD_NONE
       ITEM
         Catalog = EXT_STRING|EXC_DEFAULT|EXD_CREATOR
         Value = me
       ITEM
         Catalog = EXT_UINT32|EXC_DEFAULT|EXD_PROC_PID
         Value = 845523
       ITEM
         Catalog = EXT_UINT32|EXC_DEFAULT|EXD_PROC_UID
         Value = 37845
       ITEM
         Catalog = EXT_UINT32|EXC_DEFAULT|EXD_PROC_GID
         Value = 10
       ITEM
         Catalog = EXT_STRING|EXC_DEFAULT|EXD_PROC_COMMAND
         Value = /bin/rec
ENDGROUP