OS X의 일부 C 코드에서 CoW 페이지 오류의 원인을 찾으려고 합니다. 나는 사용하고 싶다vminfo DTrace 공급자, 하지만 vminfo
OS X에서는 사용할 수 없습니다. Linux에서는 SystemTap을 사용하여 CoW 실패의 스택 추적을 인쇄할 수 있습니다. OS X에서 이 작업을 수행할 수 있는 방법이 있나요?
답변1
dtrace SIP 보호를 비활성화하려는 것 같습니다.
내 비슷한 것을 확인해 보세요apple.stackexchange에서 답변됨SIP에서 dtrace 보호를 비활성화하는 데 사용됩니다.
dtrace 없이 SIP를 활성화했으며 vminfo에 액세스할 수 있습니다.
# uname -a
Darwin Phoenix.local 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64
# dtrace -n 'vminfo:::cow_fault {trace(probefunc)}'
dtrace: description 'vminfo:::cow_fault ' matched 2 probes
CPU ID FUNCTION:NAME
0 1182 vm_page_validate_cs_mapped_chunk:cow_fault vm_page_validate_cs_mapped_chunk
0 1182 vm_page_validate_cs_mapped_chunk:cow_fault vm_page_validate_cs_mapped_chunk
0 1182 vm_page_validate_cs_mapped_chunk:cow_fault vm_page_validate_cs_mapped_chunk