MicroStrategy ONE

권한 오류

이 섹션에서는 Linux 환경의 권한 오류에 대한 문제 해결 정보를 제공합니다.

잘못된 "nice" 값 제한

높은 CPU 부하에서 성능을 향상시키기 위해 Intelligence Server는 스마트 다운로드와 같은 백그라운드 요청보다 대화형 대시보드 실행과 같이 시간이 중요한 작업의 실행에 우선순위를 둡니다. 그러한 것을 달성하려면 업무 우선순위 메커니즘에서는 대화형 작업을 실행하는 스레드가 더 많은 CPU 시간을 차지하도록 허용됩니다. 마찬가지로, 백그라운드 요청 스레드에는 더 작은 CPU 시간 청크가 할당됩니다.

Linux OS에서 스레드의 CPU 청크 크기는 해당 스레드에 의해 제어됩니다. nice 값은 CPU 시간(및 우선순위)과 반대 관계. 들어오는 모든 작업이나 요청을 올바른 우선순위로 실행하기 위해 Intelligence Server는 풀에서 하나 이상의 스레드를 선택하고 올바른 우선순위로 스레드를 동적으로 할당합니다. nice 작업이나 요청을 실행하기 위한 값을 지정한 다음 nice 값을 기본값으로 0, 스레드를 풀로 다시 반환하기 전에. 이 역동적인 nice 값 할당(특히 다음으로 재설정하는 경우) 0 백그라운드 요청 스레드의 nice 값(우선순위 해제)을 늘린 후에는 다음 구성이 필요합니다. 사용자 수준 한도 nice.

배포 복잡성을 완화하기 위해 MicroStrategy 설치 프로그램이 자동으로 구성합니다. nice 가치는 다음과 같습니다. root 사용자. 그렇지 않은 경우 설치 프로그램이 비root 사용자, nice 한도를 구성할 수 없으며 다음 메시지가 표시됩니다.

  • 그만큼 MicroStrategy 설치 프로그램은 설치 프로세스가 끝나면 아래 메시지 중 하나를 표시합니다.

  • 설치 프로그램이 명령줄에서 실행될 때 유사한 메시지가 표준 출력에 표시됩니다. 반면, 설치 프로그램이 자동 모드로 실행되면 다음 항목이 설치.로그 파일.

    복사
    3 Jun 2020, 11:35:27 AM:SEVERE: Failed to set MicroStrategy Intelligence priority process settings 
    3 Jun 2020, 11:35:27 AM:SEVERE: Priority process settings for MicroStrategy Intelligence doesn't meet the requirements
    3 Jun 2020, 11:35:27 AM:SEVERE: Root privileges are required to configure the nice limit to 0 or lower
  • 위의 오류 메시지에도 불구하고 설치가 완료된 후에도 Intelligence Server를 계속 시작할 수 있습니다. 잘못된 내용을 확인하려면 nice Intelligence Server가 실행 중일 때 제한을 열려면 DSSErrors.log 파일을 저장하고 다음 항목을 검색하세요.

    복사
      ... [Kernel][Error] ... The maximum scheduling priority ("nice") returned by "ulimit - e" has a value of %1. It does not satisfy the job prioritization feature's requirement that expects a value of 20 or higher. Please refer to the man page of "ulimit".
    복사
     ... [Kernel][Info] ... The job prioritization feature is disabled.

문제를 해결하려면 최대값을 구성해야 합니다. nice 한도는 다음을 사용하여 확인할 수 있습니다. ulimit -e 명령을 실행하여 올바른 값이 나올 때까지 20이상이 반환됩니다. 구성하고 확인하려면 nice 제한하려면 다음 단계를 참조하세요.

  1. Intelligence Server가 실행 중인 경우 중지합니다.
  2. 슈퍼유저 권한 사용(예: sudo 명령), 새 구성 파일을 만듭니다. MicroStrategy 이름을 사용하는 것이 좋습니다 mstr-priority.conf 아래의 /etc/security/limits.d 폴더.
  3. 구성 파일에 다음 항목을 추가합니다.

    복사
    mstr  hard  nice  0
    mstr  soft  nice  0
  4. 구성 파일을 저장합니다.
  5. 새로운 제한을 적용하려면 기존 세션을 다시 시작하세요. SSH를 사용할 때 간단히 새 세션의 연결을 끊었다가 다시 연결할 수 있습니다. VNC를 사용하는 경우, systemctl restart vncserver@:1.service 명령을 내린 후 세션에 다시 연결하세요. 두 경우 모두 다음 사항을 확인하세요. mstr 사용자는 다시 연결하는 데 사용됩니다.
  6. 실행하여 설정을 확인합니다. ulimit -e 반환된 값이 다음과 같은지 확인합니다. 20, 또는 더 높게.
  7. Intelligence Server를 다시 시작합니다.
  8. 을 체크 해봐 DSSErrors.log 관련 오류 메시지가 없는지 확인하려면 nice 제한이 있고 작업 우선 순위가 활성화됩니다.

위에서 설명한 설정은 최대값만 수정합니다. nice 에 대한 가치 mstr 사용자이며 다른 사용자에게 영향을 주어서는 안 됩니다. 다음 두 가지 특수 시나리오를 알고 있어야 합니다.

  • 교체해야 합니다. mstr 위 단계에서 Intelligence Server를 실행할 사용자 이름으로. 기본적으로 MicroStrategy 설치 프로그램이 생성됩니다. mstr 이 목적을 위해 사용자를 사용하지만, 또는 도중에 다른 사용자를 선택할 수 있습니다. 설치 후.
  • 다음을 사용하여 시작된 VNC 세션을 통해 Intelligence Server를 실행할 때 systemd, 6단계에서는 올바른 값이 반환되지 않을 수 있습니다. 20, 이것 때문에 알려진 Linux 문제. 이 문제를 해결하려면 /에 다음 설정을 추가하세요.etc/systemd/user.conf 그리고 /etc/systemd/system.conf:

    복사
    DefaultLimitNICE=20

    설정을 적용하려면 다음을 실행하세요. systemctl daemon-reexec 다음을 사용하여 VNC 세션을 다시 시작하십시오. systemctl restart vncserver@:1.service 명령. 또는 컴퓨터를 재부팅할 수 있습니다.

  • Linux 시스템에는 다음을 방지하는 추가 사용자 또는 시스템 수준 제한 설정이 있을 수 있습니다. ulimit -e 올바른 값을 반환하는 것부터 20, 또는 더 높게. 이 경우 특정 Linux 배포판에 사용 가능한 제한 설정을 검토하십시오.