탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 조정 가능 매개변수 참조 설명서 Oracle Solaris 11.1 Information Library (한국어) |
이 절에서는 물리적 메모리 및 스택 구성과 관련된 일반 커널 매개변수에 대해 설명합니다. ZFS 관련 메모리 매개변수는 3 장Oracle Solaris ZFS 조정 가능 매개변수로 이동되었습니다.
Oracle Solaris OS 및 펌웨어를 검토한 후 수많은 물리적 메모리 페이지에 대한 시스템 구성을 수정합니다.
부호 없는 long
시스템의 사용 가능한 물리적 메모리 페이지 수(코어 커널 및 데이터가 저장된 메모리는 포함하지 않음)
1 ~ 시스템의 물리적 메모리 양
페이지
아니오
없음
더 적은 물리적 메모리로 시스템을 실행할 때의 결과를 테스트하려는 경우에 변경합니다. 이 매개변수는 코어 커널 및 데이터와 시작 프로세스의 초기에 할당된 기타 다양한 데이터 구조에 사용되는 메모리는 고려하지 않으므로 physmem 값을 실제 페이지 수보다 작게 지정하면 안 됩니다. 실제 페이지 수가 나타내는 메모리 양은 실제로 필요한 것보다 적기 때문입니다.
불안정
모든 스레드의 기본 스택 크기를 지정합니다. 스택 크기가 default_stksize보다 작은 스레드는 만들 수 없습니다. default_stksize를 설정하면 lwp_default_stksize를 대체합니다. lwp_default_stksize를 참조하십시오.
정수
SPARC 시스템의 경우 3 x PAGESIZE
x64 시스템의 경우 5 x PAGESIZE
최소값은 기본값입니다.
SPARC 시스템의 경우 3 x PAGESIZE
x64 시스템의 경우 5 x PAGESIZE
최대값은 기본값의 32배입니다.
getpagesize 매개변수로 반환된 값의 배수(바이트)입니다. 자세한 내용은 getpagesize(3C)를 참조하십시오.
예, 변수가 변경된 후 만들어지는 스레드에 영향을 줍니다.
8192보다 크거나 같고 262,144(256 x 1024)보다 작거나 같아야 합니다. 또한 시스템 페이지 크기의 배수여야 합니다. 이러한 조건을 충족하지 않으면 다음 메시지가 표시됩니다.
Illegal stack size, Using N
N의 값은 default_stksize의 기본값입니다.
스택 공간이 부족하여 시스템이 패닉 상태가 되는 경우에 변경합니다. 이 문제를 해결하는 가장 좋은 방법은 시스템의 공간이 부족하게 된 원인을 파악한 다음 알맞은 수정 조치를 취하는 것입니다.
기본 스택 크기를 늘리면 거의 모든 커널 스레드의 스택이 커져서 아무 효과도 없이 커널 메모리 사용량만 늘어나게 됩니다. 일반적으로 이러한 공간은 사용되지 않습니다. 사용량이 늘어난다는 것은 동일한 메모리 풀을 사용하려고 경쟁하는 다른 리소스에서 사용할 수 있는 메모리가 줄어들어 시스템 작업 성능이 저하될 수 있다는 것을 의미합니다. 커널이 만들 수 있는 스레드 수가 감소한다는 부작용도 따릅니다. 이 솔루션은 근본 원인이 해결될 때까지만 사용하는 임시해결책으로만 간주해야 합니다.
불안정
커널 스레드가 만들어질 때와 호출 루틴이 사용할 명시적 크기를 제공하지 않을 때 사용되는 스택 크기의 기본값을 지정합니다.
정수
SPARC 플랫폼의 경우 32,768
64x 플랫폼의 경우 20,480
최소값은 기본값입니다.
SPARC 시스템의 경우 3 x PAGESIZE
x64 시스템의 경우 5 x PAGESIZE
최대값은 기본값의 32배입니다.
getpagesize 매개변수로 반환된 값의 배수(바이트)입니다. 자세한 내용은 getpagesize(3C)를 참조하십시오.
예, 변수가 변경된 후 만들어지는 스레드에 영향을 줍니다.
8192보다 크거나 같고 262,144(256 x 1024)보다 작거나 같아야 합니다. 또한 시스템 페이지 크기의 배수여야 합니다. 이러한 조건을 충족하지 않으면 다음 메시지가 표시됩니다.
Illegal stack size, Using N
N의 값은 lwp_default_stksize의 기본값입니다.
스택 공간이 부족하여 시스템이 패닉 상태가 되는 경우에 변경합니다. 이 문제를 해결하는 가장 좋은 방법은 시스템의 공간이 부족하게 된 원인을 파악한 다음 알맞은 수정 조치를 취하는 것입니다.
기본 스택 크기를 늘리면 거의 모든 커널 스레드의 스택이 커져서 아무 효과도 없이 커널 메모리 사용량만 늘어나게 됩니다. 일반적으로 이러한 공간은 사용되지 않습니다. 사용량이 늘어난다는 것은 동일한 메모리 풀을 사용하려고 경쟁하는 다른 리소스에서 사용할 수 있는 메모리가 줄어들어 시스템 작업 성능이 저하될 수 있다는 것을 의미합니다. 커널이 만들 수 있는 스레드 수가 감소한다는 부작용도 따릅니다. 이 솔루션은 근본 원인이 해결될 때까지만 사용하는 임시해결책으로만 간주해야 합니다.
불안정
syseventd 데몬으로 전달될 때까지 대기열에 대기할 수 있는 시스템 이벤트의 최대 개수입니다. 시스템 이벤트 대기열의 크기가 이 제한에 도달하면 다른 시스템 이벤트가 추가로 대기열에 놓일 수 없습니다.
정수
5000
0 ~ MAXINT
시스템 이벤트
예
시스템 이벤트 프레임워크는 ddi_log_sysevent 및 sysevent_post_event 에 의해 이벤트가 만들어질 때마다 이 값을 검사합니다.
자세한 내용은 ddi_log_sysevent(9F) 및 sysevent_post_event(3SYSEVENT)를 참조하십시오.
시스템 이벤트를 기록, 생성 또는 게시할 수 없다는 오류 메시지가 나타날 경우에 변경합니다.
불안정
사용 가능한 커널 페이징 가능 메모리의 양을 지정합니다. 이 메모리는 주로 커널 스레드 스택에 사용됩니다. 이 값을 늘리면 같은 수의 스레드나 더 많은 수의 스레드에 대해 더 큰 스택을 사용할 수 있습니다.
부호 없는 long
2GB x CPU 개수/128 또는 물리 메모리양/256GB 중 작은 값
512MB ~ 64GB(SPARC)
200MB ~ 8GB(x86)
페이지
아니오
값이 최소 및 최대 크기와 비교됩니다. 최소 크기보다 작거나 최대 크기보다 크면 2GB로 재설정되고 이에 관한 메시지가 표시됩니다.
SPARC 시스템에서 segkpsize 값은 물리 메모리 크기의 두 배를 초과할 수 없습니다. x86 시스템에서 값은 물리 메모리 크기를 초과할 수 없습니다.
시스템에서 더 많은 프로세스를 지원해야 하는 경우에 변경합니다. 기본 크기 2GB로는 65,536개 이상의 커널 스레드에 대해 24KB의 스택을 만들 수 있습니다. 값을 이보다 높게 지정해야 할 경우 또는 스택 크기를 늘려야 할 경우, 물리적 메모리가 충분하면 segkpsize를 늘리면 됩니다.
불안정
자세한 내용은 segkpsize를 참조하십시오.
스택을 실행할 수 없는 스택으로 사용 설정하여 버퍼 오버플로우 공격을 어렵게 만들 수 있습니다.
64비트 커널을 실행하는 Oracle Solaris 시스템에서는 모든 64비트 응용 프로그램 스택을 기본적으로 실행할 수 없는 스택으로 설정합니다. 32비트 응용 프로그램을 실행할 수 없는 응용 프로그램으로 설정하려면 이 매개변수를 설정해야 합니다.
부호 있는 정수
0(사용 안함)
0(사용 안함) 또는 1(사용)
토글(설정/해제)
예, 현재 실행 중인 프로세스에는 영향을 주지 않고 값이 설정된 후 만들어진 프로세스에만 영향을 줍니다.
없음
응용 프로그램에서 mprotect를 사용하여 스택을 실행 가능한 스택으로 설정하지 않은 채 고의적으로 스택에 실행 코드를 배치하는 경우가 아니면 항상 사용으로 설정해야 합니다. 자세한 내용은 mprotect(2)를 참조하십시오.
불안정