로드된 커널 모듈의 기본 주소와 크기를 얻는 방법은 무엇입니까?
답변1
를 사용할 수 있을 것 같습니다 /proc/modules
. 여기에는 현재 커널에 로드된 모든 모듈에 대한 정보가 포함되어 있습니다. 예를 들어:
cat /proc/modules | grep i8k
결과는 다음과 같습니다.
i8k 14696 0 - Live 0xffffffffa03b8000
어디:
- 첫 번째 열에는 모듈 이름이 포함됩니다.
- 두 번째 열은 모듈의 메모리 크기(바이트)를 나타냅니다.
- 세 번째 열에는 현재 로드된 모듈 인스턴스 수가 나열됩니다. 0 값은 언로드된 모듈을 나타냅니다.
- 네 번째 열은 모듈이 실행할 다른 모듈에 의존하는지 여부를 나타내고 해당 다른 모듈을 나열합니다.
- 다섯 번째 열에는 모듈의 로드 상태(
Live
,Loading
또는 ) 가 나열됩니다Unloading
. - 커널 가상 주소 공간에 있는 모듈의 기본 메모리 주소입니다.
실행하는 경우:
awk '$1 ~ /i8k/ { print $1, $2, $6 }' /proc/modules
결과는 다음과 같은 값일 수 있습니다.
i8k 14696 0xffffffffa03b8000
답변2
크기/sys
나는 하나의 값만 제공하기 때문에 이 대안을 좋아합니다.
cat /sys/module/<module-name>/coresize
주소 로드:pr_debug
활성화되면 pr_debug
이 정보가 나타나며 모듈 패닉이 발생할 경우 유용할 수 있습니다 init_module
.
자세한 내용은 다음을 참조하세요.insmod를 사용하여 삽입된 커널 모듈의 주소를 얻는 방법은 무엇입니까? |스택 오버플로