다음 명령을 사용하여 매개변수를 설정했다고 가정해 보겠습니다. 나중에 어떻게 읽을 수 있나요?
mdb -kwe "spa_load_verify_metadata/W 0"
읽으려고 노력 중이에요매뉴얼 페이지, 하지만 저는 이 OS를 일시적으로만 사용하고 있어서 무슨 말인지 이해하지 못합니다.
The search modifiers are:
l Search for the specified 2-byte value.
L Search for the specified 4-byte value.
M Search for the specified 8-byte value.
/sys/modules/zfs/parameters/spa_load_verify_metadata
나는 일반적으로 그 가치가 내가 얻을 수 있는 어딘가에 있을 것이라고 기대 cat
하지만, /sys
그것은 심지어 존재하지도 않습니다.
find 변수를 사용해 보았 find
으나 파일 시스템에 없습니다. 이 값이 어디에 있는지 개념을 이해하지 못합니다 ...
사실 저는 단지다른 매개변수가 존재한다는 것을 알고 있습니다..
답변1
Linux에서 커널 매개변수를 내보내는 자연스러운 방법은 /sys 또는 /proc의 가상 파일입니다. Solaris 및 그 파생 제품에서는 디버거 mdb를 사용하여 값을 읽고 쓸 수 있습니다.
# mdb -ke "spa_load_verify_metadata::print"
0x1 (B_TRUE)
아니면 내가 했던 것처럼:
# echo "spa_load_verify_metadata::print" | mdb -k
0x1 (B_TRUE)
디버거를 사용하여 기호에 대한 자세한 정보를 찾을 수 있습니다.
# mdb -k
> spa_load_verify_metadata::nm
Value Size Type Bind Other Shndx Name
0xfffffffffbfc11f0|0x0000000000000004|OBJT |GLOB |0x0 |6 |spa_load_verify_metadata
자세한 내용은 여기에서 확인할 수 있습니다.Oracle Solaris 모듈식 디버거 안내서