7.8. 지원되는 kdump 구성 및 대상
7.8.1. kdump에 대한 메모리 요구 사항
kdump가 커널 크래시 덤프를 캡처하여 추가 분석을 위해 저장할 수 있으려면 캡처 커널에 대해 시스템 메모리의 일부를 영구적으로 예약해야 합니다.
명령줄에서 메모리 설정을 변경하는 방법에 대한 자세한 내용은 7.2.2.1절. “메모리 사용량 구성” 을 참조하십시오. 그래픽 사용자 인터페이스에서 예약된 메모리 양을 설정하는 방법에 대한 지침은 7.2.3.1절. “메모리 사용량 구성” 을 참조하십시오.
Table 7.1 은 커널 및
패키지에서 kernel
-altkdump
에 의해 자동으로 예약된 메모리를 나열합니다. kdump
자동은 CPU 아키텍처 및 사용 가능한 총 실제 메모리를 기반으로 메모리를 예약합니다.
CPU 아키텍처 | 사용 가능한 메모리 | 자동으로 예약된 메모리 충돌 |
---|---|---|
AMD64 및 Intel 64(x86_64) | 2GB 이상 | 161MB + 1TB당 64MB |
64비트 ARM 아키텍처(arm64) | 2GB 이상 | 512MB |
IBM POWER ppc64/ppc64le | 2GB ~ 4GB | 384MB |
4GB ~ 16GB | 512MB | |
16GB ~ 64GB | 1GB | |
64GB ~ 128GB | 2GB | |
128GB 이상 | 4GB | |
IBM Z (s390x) | 4GB 이상 |
161MB + 1TB 당 64MB |
다양한 Red Hat Enterprise Linux 기술 기능 및 제한에 대한 자세한 내용은 https://access.redhat.com/articles/rhel-limits 을 참조하십시오.
7.8.2. 자동 메모리 예약에 대한 최소 임계값
일부 시스템에서는 부트로더의 설정 파일에서 crashkernel=auto
매개 변수를 사용하거나 그래픽 구성 유틸리티에서 이 옵션을 활성화하여 kdump에 메모리를 자동으로 할당할 수 있습니다. 이 자동 예약이 작동하려면 시스템에서 특정 양의 전체 메모리를 사용할 수 있어야 합니다. 이 금액은 시스템의 아키텍처에 따라 다릅니다.
아래 표에는 커널 및
패키지에 대한 자동 메모리 할당 임계값이 나열되어 있습니다. 시스템이 테이블에서 지정한 메모리보다 적은 경우 메모리를 수동으로 예약해야 합니다.
kernel
-alt
명령줄에서 이러한 설정을 변경하는 방법에 대한 자세한 내용은 7.2.2.1절. “메모리 사용량 구성” 을 참조하십시오. 그래픽 사용자 인터페이스에서 예약된 메모리 양을 변경하는 방법에 대한 지침은 7.2.3.1절. “메모리 사용량 구성” 을 참조하십시오.
아키텍처 | 필수 메모리 |
---|---|
AMD64 및 Intel 64( | 2GB |
IBM POWER ( | 2GB |
IBM Z ( | 4GB |
64비트 ARM 아키텍처(m | 2GB |
7.8.3. 지원되는 kdump 대상
커널 크래시를 캡처하면 코어 덤프를 장치에 직접 쓰거나 로컬 파일 시스템에 파일로 저장되거나 네트워크를 통해 전송할 수 있습니다. 아래 표에는 현재 지원되거나 kdump에서 명시적으로 지원되지 않는 전체 덤프 대상 목록이 포함되어 있습니다.
명령줄에서 대상 유형을 구성하는 방법에 대한 자세한 내용은 7.2.2.2절. “kdump 대상 구성” 을 참조하십시오. 그래픽 사용자 인터페이스에서 이를 수행하는 방법에 대한 자세한 내용은 7.2.3.2절. “kdump 대상 구성” 을 참조하십시오.
유형 | 지원되는 대상 | 지원되지 않는 대상 |
---|---|---|
원시 장치 | 로컬에서 연결된 모든 원시 디스크 및 파티션. | |
로컬 파일 시스템 |
직접 연결된 디스크 드라이브, 하드웨어 RAID 논리 드라이브, LVM 장치 및 |
자동 유형(자동 파일 시스템 탐지)을 포함하여 이 표에서 지원되는 것으로 명시적으로 나열되지 않은 모든 로컬 파일 시스템입니다. |
원격 디렉터리 |
|
|
|
| |
하드웨어 및 소프트웨어 초기자 둘 다에서 |
| 다중 경로 기반 스토리지. |
| ||
| ||
무선 네트워크 인터페이스를 사용하여 액세스하는 원격 디렉터리. |
소프트웨어 FCoE
대상으로 덤프할 때 OOM(메모리 부족) 문제가 발생할 수 있습니다. 이 경우 기본 crashkernel=auto
매개변수 값을 늘립니다. 이 커널 부팅 매개변수를 설정하는 방법에 대한 자세한 내용은 7.2.2.1절. “메모리 사용량 구성” 을 참조하십시오.
7.8.4. 지원되는 kdump 필터링 수준
덤프 파일의 크기를 줄이기 위해 kdump는 makedumpfile
코어 수집기를 사용하여 데이터를 압축하고 선택적으로 관련 없는 정보를 남겨 둡니다. 아래 표에는 현재 makedumpfile
유틸리티에서 지원하는 필터링 수준의 전체 목록이 포함되어 있습니다.
명령줄에서 코어 수집기를 구성하는 방법에 대한 지침은 7.2.2.3절. “코어 수집기 구성” 을 참조하십시오. 그래픽 사용자 인터페이스에서 이를 수행하는 방법에 대한 자세한 내용은 7.2.3.3절. “코어 수집기 구성” 을 참조하십시오.
옵션 | 설명 |
---|---|
| 0 페이지 |
| 페이지 캐시 |
| 캐시 프라이빗 |
| 사용자 페이지 |
| 사용 가능한 페이지 |
makedumpfile
명령은 Red Hat Enterprise Linux 7.3 이상에서 투명한 대규모 페이지 및 hugetlbfs 페이지 제거를 지원합니다. 이러한 유형의 hugepages 사용자 페이지를 모두 고려하여 -8
수준을 사용하여 제거합니다.
7.8.5. 지원되는 기본 작업
기본적으로 kdump가 코어 덤프를 생성하지 못하면 운영 체제가 재부팅됩니다. 그러나 코어 덤프를 기본 대상에 저장하지 못하는 경우 다른 작업을 수행하도록 kdump를 구성할 수 있습니다. 아래 표에는 현재 kdump에서 지원하는 모든 기본 작업이 나열되어 있습니다.
명령줄에서 기본 작업을 설정하는 방법에 대한 자세한 내용은 7.2.2.4절. “기본 작업 구성” 을 참조하십시오. 그래픽 사용자 인터페이스에서 이를 수행하는 방법에 대한 자세한 내용은 7.2.3.4절. “기본 작업 구성” 을 참조하십시오.
옵션 | 설명 |
---|---|
| 코어 덤프를 루트 파일 시스템에 저장합니다. 이 옵션은 특히 네트워크 대상과 함께 유용합니다. 네트워크 대상에 연결할 수 없는 경우 이 옵션을 사용하면 코어 덤프를 로컬에 저장하도록 kdump를 구성합니다. 나중에 시스템이 재부팅됩니다. |
| 시스템을 다시 부팅하고 프로세스에서 코어 덤프를 손실합니다. |
| 시스템을 중단하고 프로세스에서 코어 덤프를 잃게 됩니다. |
| 시스템의 전원을 끄고 프로세스에서 코어 덤프를 잃습니다. |
| initramfs 내에서 쉘 세션을 실행하여 사용자가 코어 덤프를 수동으로 기록할 수 있습니다. |
7.8.6. kdump 크기 추정
kdump
환경을 계획 및 빌드할 때는 덤프 파일에 필요한 공간이 하나씩 생산되기 전에 얼마나 많은 공간이 필요한지 알아야 합니다. makedumpfile
명령은 이에 도움이 될 수 있습니다.
--mem-usage
기능을 사용하여 덤프 파일에 필요한 공간을 다음과 같이 추정합니다.
# makedumpfile -f --mem-usage /proc/kcore
-f
옵션을 사용하는 --mem-usage
기능은 커널 버전 v4.11 이상에서 작동합니다.
v4.11 이전 커널 버전의 경우 -f
옵션과 함께 --mem-usage
를 사용하기 전에 커널이 업스트림 커밋 464920104bf7로 패치되었는지 확인합니다.
--mem-usage
옵션은 excludable 페이지에 대한 유용한 보고서를 제공합니다. 이 페이지를 사용하여 할당할 덤프 수준을 결정합니다. 시스템이 대표적 로드 상태에 있는 경우 이 명령을 실행합니다. 그러지 않으면 makedumpfile
에서 프로덕션 환경에서 예상되는 값보다 작은 값을 반환합니다.
[root@hostname ~]# makedumpfile -f --mem-usage /proc/kcore TYPE PAGES EXCLUDABLE DESCRIPTION ---------------------------------------------------------------------- ZERO 501635 yes Pages filled with zero CACHE 51657 yes Cache pages CACHE_PRIVATE 5442 yes Cache pages + private USER 16301 yes User process pages FREE 77738211 yes Free pages KERN_DATA 1333192 no Dumpable kernel data
makedumpfile
명령은 페이지의 보고입니다. 즉, Red Hat Enterprise Linux 커널에서 사용할 커널 페이지 크기에 대해 사용 중인 메모리 크기를 계산해야 하며 AMD64 및 Intel 64 아키텍처의 경우 4킬로바이트, IBM POWER 아키텍처용 64킬로바이트입니다.
7.8.7. 커널 및 커널
-alt
패키지에서 아키텍처 지원
커널
-alt
다음 표에서는 커널 및
패키지에서 아키텍처 및 사용 가능한 메모리 지원에 대한 개요를 제공합니다.
커널
-alt
CPU 아키텍처 | 사용 가능한 메모리 | RHEL 7.5 및 이전 | RHEL 7.6 이상 | RHEL-ALT-7.4 | RHEL-ALT-7.5 이상 |
---|---|---|---|---|---|
| 2GB 이상 | 161MB + 1TB당 64MB | 161MB + 64MB/1TB | 2GB ~ 160MB | 2GB ~ 160MB |
| 2GB 이상 | 해당 없음 | 해당 없음 | 2GB에서 512MB | 2GB에서 512MB |
| 2GB ~ 4GB | 384MB | 384MB | 해당 없음 | 해당 없음 |
4GB ~ 16GB | 512MB | 512MB | 해당 없음 | 해당 없음 | |
16GB ~ 64GB | 1GB | 1GB | 해당 없음 | 해당 없음 | |
64GB ~ 128GB | 2GB | 2GB | 해당 없음 | 해당 없음 | |
128GB 이상 | 4GB | 4GB | 해당 없음 | 해당 없음 | |
| 2GB ~ 4GB | 384MB | 384MB | 384MB | 384MB |
4GB ~ 16GB | 512MB | 512MB | 512MB | 512MB | |
16GB ~ 64GB | 1GB | 1GB | 1GB | 1GB | |
64GB ~ 128GB | 2GB | 2GB | 2GB | 2GB | |
128GB 이상 | 4GB | 4GB | 4GB | 4GB | |
| 2GB ~ 4GB | 해당 없음 | 해당 없음 | 384MB | 384MB |
4GB ~ 16GB | 해당 없음 | 해당 없음 | 512MB | 512MB | |
16GB ~ 64GB | 해당 없음 | 해당 없음 | 1GB | 1GB | |
64GB ~ 128GB | 해당 없음 | 해당 없음 | 2GB | 2GB | |
128GB 이상 | 해당 없음 | 해당 없음 | 4GB | 4GB | |
| 4GB 이상 | 161MB + 1TB당 64MB | 161MB + 1TB당 64MB | 161MB + 1TB당 64MB | 160MB |