3장. 외부 커널 매개변수의 중요한 변경 사항
이 장에서는 Red Hat Enterprise Linux 7.3에 제공되는 커널의 중요한 변경 사항에 대한 요약을 시스템 관리자에게 제공합니다. 이러한 변경 사항에는 추가 또는 업데이트된
proc
항목, sysctl
및 sysfs
기본값, 부팅 매개 변수, 커널 구성 옵션 또는 눈에 띄는 동작 변경 사항이 포함됩니다.
- apic_extnmi=[APIC,X86]
- 외부NMI(Nonmaskable Interrupt) 전달 설정을 제공합니다.형식: { bsp(기본값) | all | none }.BSP: 외부 NMI는 CPU 0에만 제공됩니다.모두: 외부 NMI는 CPU 0의 백업으로 모든 CPU에 브로드캐스트됩니다.none: 외부 NMI 는 모든 CPU에 대해 마스킹됩니다. 이 기능은 NMI 에 의해 덤프 캡처 커널을 다운로드하지 않도록 유용합니다.
- BAU=[X86_UV] SGIECDHE에서 BAU 사용
- 기본 동작은 BAU (예: bau=0)를 비활성화하는 것입니다.형식: { "0" | "1" }0 - BAU를 비활성화합니다.1 - BAU를 활성화합니다.설정되지 않음 - BAU를 비활성화합니다.
- cpu_init_udelay=N [X86]
- 프로세서를 시작하기 위해
APIC INIT
의 assert 및 de-assert 간의 N 마이크로초 지연을 설정합니다. 이러한 지연은 부팅과 같은 모든 CPU에서 발생하며 일시 중지되지 않습니다.기본값: 10000 - hardlockup_all_cpu_backtrace=[KNL]
- 하드 잠금 탐지기는 모든 cpu에 역추적을 생성합니다.형식: 정수
- intel_iommu=[DMAR] Intel
iommu
드라이버(DMAR) 옵션 [3] - ecs_off [Default Off]하드웨어가 확장된 테이블 자체와
PASID
지원을 모두 지원하는 경우 기본적으로 확장 컨텍스트 테이블이 지원됩니다. 이 옵션을 설정하면 해당 테이블을 지원하도록 요청하는 하드웨어에서 확장 테이블이 사용되지 않습니다. - kernelcore=nn[KMG] [KNL,X86,IA-64,PPC]
- 이 매개변수kernelcore=[KNL,X86,IA-64,PPC]형식:
nn[KMGTPE]
| "mirror"메모리nn[KMGTPE]
의 양을 지정하는 대신 사용자가 "mirror" 옵션을 지정할 수 있습니다. "미러" 옵션이 지정된 경우 이동 불가능한 할당에 미러링된 메모리가 사용되며 나머지 메모리가 이동 가능한 페이지에 사용됩니다.nn[KMGTPE]
및 "mirror" 옵션 모두 배타적입니다. 사용자는nn[KMGTPE]
및 "mirror" 옵션을 동시에 지정할 수 없습니다. - libata.force=[LIBATA]
- * [no]ncqtrim: 대기 중인
DSM TRIM
을 끕니다. - memmap=nn[KMG]!ss[KMG] [KNL,X86]
- 특정 메모리를 보호로 표시합니다. ss에서 ss+nn까지 사용할 메모리 영역입니다. 메모리 영역은 e820 유형 12 (0xc)로 표시되고 NVDIMM 또는 ADR 메모리입니다.
- module_blacklist=[KNL]
- 쉼표로 구분된 모듈 목록을 로드하지 않습니다. 이 기능은 문제 모듈을 디버깅하는 데 유용합니다.
- nfs4.layoutstats_timer=[NFSv4.2]
- 커널이 레이아웃 통계를 pNFS 메타데이터 서버로 보내는 속도를 변경합니다.이 값을 0으로 설정하면 커널이 레이아웃 드라이버에서 설정한 기본값인 모든 값을 사용합니다. 0이 아닌 값은 레이아웃 통계 전송 사이의 최소 간격(초)을 설정합니다.
- nmi_watchdog=[KNL,BUGS=X86]
- SMP 커널의 디버깅 기능.형식: [panic,][nopanic,][num]유효한 숫자: 0 또는 10 - nmi_watchdog를 끄십시오.1 - nmi_watchdog를 켭니다.
- nohugeiomap [KNL,x86]
- 커널 대규모 I/O 매핑을 비활성화합니다.
- 워치독
- 이 매개변수는 NMI 워치독에 의해 보장되는 소프트 잠금 감지기와 하드 잠금 감지기를 비활성화하거나 활성화합니다.0 - 두 잠금 감지기를 비활성화합니다.1 - 두 잠금 감지기 활성화soft_watchdog 및 nmi_watchdog 매개변수를 사용하여 소프트 잠금 감지기 및 NMI 워치독을 개별적으로 비활성화하거나 활성화할 수도 있습니다. 워치독 매개변수를 읽는 경우(예: cat /proc/sys/kernel/watchdog 명령을 실행하여) 0 또는 1인 이 명령의 출력 값은 soft_watchdog 및 nmi_watchdog의 논리 OR을 표시합니다.
- noxsaveopt [X86]
- x86 확장 레지스터 상태를 저장하는 데 사용되는 xsaveopt를 비활성화합니다. 커널은 xsave를 사용하여 상태를 저장하도록 대체합니다. 이 매개변수를 사용하면 xsaveopt가 xsaveopt 활성화된 시스템에서 xsaveopt를 지원하는 동안 수정된 최적화를 지원하지 않기 때문에 상태를 저장하는 성능이 저하됩니다.
- noxsaves [X86]
- x86 확장 레지스터 상태를 xsave 영역의 컴팩트 형태로 저장 및 복원하는 데 사용되는 xsaves 및 xrstor를 비활성화합니다. 커널은 xsaveopt 및 xrstor를 사용하여 xsave 영역의 표준 형태로 상태를 저장하고 복원합니다. 이 매개변수를 사용하면 프로세스당 xsave 영역을 사용하여 xsaves 가능 시스템에서 더 많은 메모리를 할당할 수 있습니다.
- nompx [X86]
- Intel Memory Protection Extensions를 비활성화합니다.기능에 대한 자세한 내용은 Documentation/x86/intel_mpx.txt를 참조하십시오.
- nowatchdog [KNL]
- 잠금 감지기( soft-lockup 및 NMI 워치독)(하드 잠금(하드 잠금))을 둘 다 비활성화합니다.
- watchdog_cpumask
- 이 값은 워치독에서 실행할 수 있는 CPU를 설정하는 데 사용됩니다. 기본 cpumask는 가능한 모든 코어이지만 커널 구성에서
NO_HZ_FULL
이 활성화되어 있고 코어는 nohz_full=boot 인수로 지정되는 경우 해당 코어는 기본적으로 제외됩니다. 이 마스크에는 오프라인 코어를 포함할 수 있습니다. 코어가 나중에 온라인 상태가 되면 마스크 값을 기반으로 워치독이 시작됩니다. 이 값은 기본적으로 워치독을 실행하지 않은 코어를 재활성화하기 위해 해당 코어에 대한 커널 잠금 문제가 발생한 경우에만 이 값을 연결할 수 있습니다. 인수 값은 cpumasks의 표준 cpulist 형식입니다.예제:코어 0, 2, 3 및 4에서 워치독을 활성화하려면 다음 명령을 사용합니다.echo 0,2-4/proc/sys/kernel/watchdog_cpumask
- watchdog_thresh
- 이 값은 hrtimer 및 NMI 이벤트 빈도 및 소프트 및 하드 잠금 임계값을 설정하는 데 사용됩니다. 기본 임계값은 10초입니다. softlockup 임계값은 2 * watchdog_thresh입니다. 이 매개변수를 0으로 설정하면 잠금 감지가 비활성화됩니다.
- schedstats=[KNL,X86]
- 스케줄러 통계를 활성화하거나 비활성화합니다.허용되는 값은 enable 및 disable입니다.이 기능을 사용하면 스케줄러에 약간의 오버헤드가 발생하지만 디버깅 및 성능 튜닝에 유용합니다.
- usbcore.usbfs_snoop_max=[USB]
- 각 USB 요청 블록(URB)에서 최대 바이트 수를 snoop로 설정합니다. 기본값은 65536입니다.
- usb-storage.quirks=[...]
- j = NO_REPORT_LUNS보고서 luns 명령, UAS 만 사용하지 않습니다.
- workqueue.watchdog_thres
CONFIG_WQ_WATCHDOG
가 구성된 경우 workqueue는 stall 조건을 경고하고 내부 상태를 덤프하여 디버깅에 도움이 될 수 있습니다. 값 0은 workqueue stall 탐지를 비활성화합니다. 그렇지 않으면 stall 임계값(초)입니다. 기본값은 30이며 해당 sysfs 파일에 작성하여 런타임 시 업데이트할 수 있습니다.- workqueue.power_efficient
- 일반적으로 캐시 지역성으로 인해 성능이 우수하지만 바인딩되지 않은 작업 대기열보다 더 많은 전원을 소비하므로 vCPU별 작업 대기열이 선호됩니다. 이 커널 매개변수를 사용하면 CPU당 작업 대기열을 통해 전원이 바인딩되지 않은 사용량에 크게 기여하여 성능 오버헤드가 적기 때문에 전력 사용량을 크게 줄일 수 있습니다.
- perf_event_paranoid
- CAP_SYS_ADMIN이 없는 권한이 없는 사용자가 성능 이벤트 시스템 사용을 제어합니다.기본값은 1입니다.-1 - 모든 사용자가 이벤트를 사용할 수 있습니다.>=0 - CAP_IOC_LOCK이 없는 사용자에 의한 원시 추적 지점 액세스를 허용하지 않습니다.>=1 - CAP_SYS_ADMIN이 없는 사용자가 CPU 이벤트 액세스를 허용하지 않습니다.>=2 - CAP_SYS_ADMIN이 없는 사용자의 커널 프로파일링을 허용하지 않음
/proc/sys/fs
- pipe-user-pages-hard:권한이 없는 사용자가 파이프에 할당할 수 있는 최대 총 페이지 수를 설정합니다.이 제한에 도달하면 사용량이 제한 미만으로 다시 반환될 때까지 새 파이프를 할당할 수 없습니다. 0으로 설정하면 기본 설정인 제한이 적용되지 않습니다.pipe-user-pages-soft:파이프 크기가 단일 페이지로 제한되기 전에 권한이 없는 사용자가 파이프에 할당할 수 있는 최대 총 페이지 수를 설정합니다. 이 제한에 도달하면 총 메모리 사용량을 제한하기 위해 이 사용자의 단일 페이지 크기로 새 파이프가 제한됩니다. fcntl() 함수를 사용하여 총 페이지 수를 늘리려는 것은 사용량이 제한 미만으로 다시 삭제될 때까지 거부됩니다. 기본값을 사용하면 최대 1024개의 파이프를 기본 크기에 할당할 수 있습니다. 0으로 설정하면 제한이 적용되지 않습니다.
/proc/sys/kernel
- hardlockup_all_cpu_backtrace:이 값은 추가 디버그 정보 수집에 대한 하드 잠금 탐지기 동작을 제어합니다. 활성화하면 arch-specific all-CPU 스택 덤프가 시작됩니다.0 - 아무 작업도 수행하지 않습니다. 이는 기본 동작입니다.1 - 탐지에서 더 많은 디버그 정보를 캡처합니다.