5장. 외부 커널 매개변수에 대한 중요한 변경 사항
이 장에서는 Red Hat Enterprise Linux 8.8에 제공된 커널의 중요한 변경 사항에 대한 요약을 시스템 관리자에게 제공합니다. 이러한 변경 사항에는 예를 들어 추가 또는 업데이트된 proc
항목, sysctl
및 sysfs
기본 값, 부팅 매개 변수, 커널 구성 옵션 또는 눈에 띄는 동작 변경 사항이 포함될 수 있습니다.
새 커널 매개변수
- nomodeset
이 커널 매개변수를 사용하면 커널 모드 설정을 비활성화할 수 있습니다. gRPC 드라이버는 표시 모드 변경 또는 빠른 렌더링을 수행하지 않습니다. 펌웨어 또는 부트 로더에 의해 설정된 경우에만 시스템 프레임 버퍼를 사용할 수 있습니다.
nomodeset
은 폴백으로 유용하거나 테스트 및 디버깅에 유용합니다.- sev=option[,option…] [X86-64]
-
자세한 내용은
Documentation/x86/x86_64/boot-options.rst
에서 참조하십시오. - amd_pstate=[X86]
-
disable: 지원되는 프로세서의 기본 확장 드라이버로
amd_pstate
를 활성화하지 마십시오. -
Passive:
amd_pstate
를 스케일링 드라이버로 사용합니다. 드라이버는 이러한 추상 규모에서 원하는 성능을 요청하고 전원 관리 펌웨어는 요청을 코어 빈도, 데이터 패브릭 및 메모리 클럭 등과 같은 실제 하드웨어 상태로 변환합니다.
-
disable: 지원되는 프로세서의 기본 확장 드라이버로
- retbleed=ibpb,nosmt
-
이 매개변수는
ibpb
와 유사하며 STIBP가 없는 시스템의 대안입니다. 이 매개변수를 사용하면 STIBP를 사용할 수 없는 경우 SMT를 비활성화할 수 있습니다.
업데이트된 커널 매개변수
- amd_iommu=[HW,X86-64]
이 커널 매개변수를 사용하면 시스템의 AMD IOMMU 드라이버에 매개변수를 전달할 수 있습니다. 가능한 값은 다음과 같습니다.
-
Fullflush: deprecated, equivalent to
iommu.strict=1
. - off: 시스템에 있는 AMD IOMMU를 초기화하지 마십시오.
force_isolation: 모든 장치에 대해 장치 격리를 강제 적용합니다. IOMMU 드라이버는 필요에 따라 더 이상 격리 요구 사항을 들어가지 않습니다.
-
이 옵션은
iommu=pt
를 재정의하지 않습니다.
-
이 옵션은
force_enable: IOMMU가 활성화된 것으로 알려진 플랫폼에서 IOMMU를 강제 활성화합니다.
- 이 옵션을 주의해서 사용하십시오.
-
Fullflush: deprecated, equivalent to
- crashkernel=size[KMG][@offset[KMG]]
[KNL]
kexec
를 사용하면 Linux가 패닉 시 크래시 커널로 전환할 수 있습니다. 이 매개변수는 해당 커널 이미지의 실제 메모리 영역 [offset, offset + size]을 예약합니다.@offset
이 생략되면 적절한 오프셋이 자동으로 선택됩니다.[KNL, X86-64, ARM64] 먼저 4G 아래 영역을 선택하고
@offset
이 지정되지 않은 경우 4G 이상의 리전을 예약하도록 대체합니다.자세한 내용은
Documentation/admin-guide/kdump/kdump.rst
를 참조하십시오.- crashkernel=size[KMG],low
[KNL, X86-64, ARM64] 이 매개변수는 두 번째 커널의 경우 4G에서 낮은 범위를 지정할 수 있습니다.
crashkernel=X,high
is passed.(예:swiotlb
에는 최소 64M+32K 저 메모리가 필요한 경우) 32비트 장치에 대한 DMA 버퍼가 실행되지 않도록 하려면 추가 메모리 부족 메모리가 필요합니다. 커널은 4G 미만의 기본 메모리 크기를 자동으로 할당하려고 합니다. 기본 크기는 플랫폼에 따라 다릅니다.- x86: max(swiotlb_size_or_default() + 8MiB, 256MiB)
Def64: 128MiB
0: 낮은 할당을 비활성화하려면 다음을 수행합니다.
이 매개변수는
crashkernel=X,high
가 사용되지 않거나 예약된 메모리가 4G 미만인 경우 무시됩니다.
[KNL, ARM64] 이 매개변수는 크래시 덤프 커널의 DMA 영역에서 범위를 지정할 수 있습니다.
이 매개변수는
crashkernel=X,high
가 사용되지 않을 때 무시됩니다.
- intel_iommu=[DMAR]
Intel IOMMU(DMAR) 옵션을 설정하기 위한 kernel 매개변수입니다.
- on: intel iommu 드라이버를 활성화합니다.
- 해제: intel iommu 드라이버를 비활성화합니다.
-
igfx_off [Default Off]: 기본적으로 gfx는 일반 장치로 매핑됩니다. gfx 장치에 전용 DMAR 장치가 있는 경우 이 옵션으로 DMAR을 활성화하지 않으면 DMAR 장치를 바이패스합니다. 이 경우
gfx
장치는 DMA에 물리적 주소를 사용합니다. -
Strict [Default Off]: 더 이상 사용되지 않으며
iommu.strict=1
과 동일합니다. - sp_off [Default Off]: 기본적으로 Intel IOMMU의 기능이 있는 경우 슈퍼 페이지가 지원됩니다. 이 옵션을 사용하면 슈퍼 페이지가 지원되지 않습니다.
- sm_on [Default Off]: 하드웨어에서 확장 가능한 모드 변환을 지원하는 경우에도 기본적으로 확장 가능한 모드 모드를 비활성화합니다. 이 옵션을 설정하면 이를 지원하도록 요청하는 하드웨어에서 확장 가능한 모드가 사용됩니다.
tboot_noforce [Default Off]:
tboot
에서 Intel IOMMU를 강제 활성화하지 마십시오. 기본적으로tboot
는 Intel IOMMU를 강제 적용하여 ID 매핑이 활성화된 경우에도 40GBit 네트워크 카드와 같은 처리량이 높은 장치의 성능을 손상시킬 수 있습니다.참고이 옵션을 사용하면 시스템이 DMA 공격에 취약하기 때문에
tboot
에서 제공하는 보안이 저하됩니다.
- iommu.strict=[ARM64,X86]
이 커널 매개변수를 사용하면 TLB invalidation 동작을 구성할 수 있습니다.
형식:
{ "0" | "1" }
- 0 - 지연 모드입니다. DMA unmap 작업을 사용하여 하드웨어 TLB의 무효화를 연기하여 장치 격리를 줄이면 처리량이 향상되도록 요청합니다. 관련 IOMMU 드라이버에서 지원하지 않는 경우 strict 모드로 대체됩니다.
- 1 - 엄격한 모드. DMA unmap 작업은 IOMMU 하드웨어 TLB를 동기적으로 무효화합니다.
설정되지 않음 -
CONFIG_IOMMU_DEFAULT_DMA_{LAZY,STRICT}
의 값을 사용합니다.참고x86에서 기존 드라이버별 옵션 중 하나를 통해 지정된 strict 모드가 우선합니다.
- mem_encrypt=[X86-64]
AMD SME(Secure Memory Encryption) 제어를 설정하기 위한 kernel 매개변수입니다.
유효한 인수: on, off
기본값은 커널 구성 옵션에 따라 다릅니다.
- (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y)
- off (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=n)
- mem_encrypt=on: Activate SME
mem_encrypt=off: Do not activate SME
메모리 암호화를 활성화할 수 있는 시기에 대한 자세한 내용은
Documentation/virt/kvm/x86/amd-memory-encryption.rst
에서 참조하십시오.
- retbleed=[X86]
이 커널 매개변수를 사용하면 RETBleed (Arbitrary Speculative Code Execution with Return Instructions) 취약점의 완화를 제어할 수 있습니다.
AMD 기반 UNRET 및 IBPB 완화 작업만으로는 형제 스레드가 다른 형제 스레드의 예측에 영향을 미치는 것을 막을 수 없습니다. 따라서 STIBP는 이를 지원하는 프로세서에서 사용되며 그렇지 않은 프로세서에서 SMT를 완화합니다.
- off - 완화 없음
- auto - migitation을 자동으로 선택합니다.
- Auto,nosmt - 자동으로 완화 조치를 선택하여 전체 완화 조치를 위해 필요한 경우 SMT를 비활성화합니다(STIBP가 없는 경우).
- ibpb - AMD에서 기본 블록 경계에서도 짧은 추측 창을 완화합니다. 안전하고 가장 높은 성능 영향은 다음과 같습니다. 있는 경우 STIBP도 활성화합니다. Intel에는 적합하지 않습니다.
- Ret - 억제되지 않은 반환 토크를 활성화하며 AMD f15h-f17h 기반 시스템에서만 유효합니다.
- unret,nosmt - 원하지 않는 것처럼, STIBP를 사용할 수 없는 경우 SMT를 비활성화합니다. STIBP가 없는 시스템의 대안입니다.
- swiotlb=[ARM,IA-64,PPC,MIPS,X86]
이 커널 매개변수를 사용하면 I/O TLB slabs의 동작을 구성할 수 있습니다.
형식:
{ <int> [,<int>] | force | noforce }
- <int> - I/O TLB slabs 수
- <int> - 쉼표 이후의 두 번째 정수 자체 잠금이 있는 Swiotlb 영역 수입니다. 2 의 거듭제곱이 되어야 합니다.
- force - 커널에서 자동으로 사용하지 않는 경우에도 bounce 버퍼를 강제로 사용합니다.
- noforce - Ballunce buffers를 사용하지 않음(디버그용)
새로운 sysctl 매개변수
- page_lock_unfairness
- 이 값은 페이지 잠금이 웨이터 하에서 유출될 수 있는 횟수를 결정합니다. 잠금이 이 파일에 지정된 횟수(기본값: 5)를 무지한 후, 공정 잠금 핸드오프 의미가 적용되고, 웨이터는 잠금을 취할 수 있는 경우에만 재검토됩니다.
- rps_default_mask
- 새로 생성된 네트워크 장치에 사용되는 기본 RPS CPU 마스크입니다. 빈 마스크는 기본적으로 RPS를 비활성화함을 의미합니다.