메모리컨트롤러(MCHC)를 로딩해 봅시다.
- leejo0531
- 2800
- 11
leejo0531님의 기기정보
앞서서..
XCPM?커널을 사용하는 경우,?커널 자체적으로?PM과 메모리 컨트롤을 합니다.
그러므로 XCPM 커널을 사용하는 하스웰의 경우 굳이 이 패치를 적용하지 않아도 됩니다.
또한 패치를 적용한다고 무조건적인 성능향상을 이뤄지지 않습니다.
작업?1. MCHC(?Memory Controller Hub?)가?제대로?잡혀?있나?확인하기.
IORegistryExplorer?를 사용하여,?MCHC를 확인합니다.
IORegistryExplorer 다운로드 : https://www.hackintoshosx.com/files/file/4251-ioregistryexplorer/
MCHC가 잡혀있다면 아래와 같이 MCHC아래에?AppleSMCPDRC가 로드되어 있습니다.
위와 같은 상태가 아니라면, 원인은 2가지입니다.
1-1. MCHC 디바이스 유무
MCHC가 보이지 않는다면, 작업 2를 진행해주시기 바랍니다.
1-2. AppleSMCPDRC.kext 로딩 유무
MCHC 디바이스가 잡혀있지만 [AppleSMCPDRC]가 보이지 않을 경우, AppleSMCPDRC.kext가 로딩 되지 않은 것입니다.
시스템 리포트 / 소프트웨어 / 확장파일 / AppleSMCPDRC.kext 확인
(정상적으로 작동한다면,?로드됨: 예?//??로드?가능: 예?로 나와야합니다. 제 경우에는 정상적으로 작동중이진 않습니다.)
작업 3을 진행해주시기 바랍니다.
작업2. MCHC?디바이스?추가
2-1 또는 2-2 중 하나만 하시면 됩니다.
2-1.?클로버 유저
클로버 컨피규레이터를 이용하여, config.plist를 편집합니다.
acpi / fixes / AddMCHC를 체크 합니다.
2-2. DSDT?패치 (클로버 dsdt 사용유저, 카멜레온 유저)
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/system/system_MCHC.txt
작업3. MCHC?켁스트?수정
AppleSMCPDRC.kext의 위치는 S/L/E/IOPlatformPluginFamily.kext/Contents/PlugIns?입니다. 작업 전에 원본을 백업해두시길 바랍니다.
3-1. 자신의 메모리 컨트롤러 IOName 값 확인.
IORegistryExplorer로 MCHC의 IOName에 적혀있는 것이 메모리컨트롤러의 IOName 입니다.
(제 경우 pci8086,c04 으로 나오므로, AppleSMCPDRC.kext에 pci8086,c04를 넣어주도록 하겠습니다.)
3-2. Info.plist 수정
켁스트에 마우스 우클릭, 패키지 보기를 하여??/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/AppleSMCPDRC.kext/Contents/Info.plist를 엽니다.
IOKitPersonalities / AppleSMCPDRC / IONameMatch 의 5번의 값( pci8086,154 )을 자신의 값으로 바꿉니다.?
에디터로 PlistEdit Pro 를 사용했습니다.?
( pci8086,c04은 제??IOName 값 입니다.)
3-3. AppleSMCPDRC 바이너리값 수정
/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/AppleSMCPDRC.kext/Contents/MacOS/AppleSMCPDRC를?Hex Fiend 로 엽니다.
검색 창에 HEX를 text로 변경합니다. 그리고 pci8086,154 를 검색합니다. 이 값을 자신의 메모리컨트롤러의 IOName으로 변경합니다.?
(수정 전)
(수정 후)?(저는 154를 c04로 변경하였습니다.)
3-4. 켁스트를 설치합니다. (설명은 하지 않겠습니다. 이미 위의 과정을 따라 올 정도라면 충분히 하실 수 있다고 생각합니다.)
패치 적용 후 달라진 점
사용중이지 않는 메모리 공간이 있음에도 불구하고, 스왑공간을 사용했었습니다. (1~50메가 사이)
하지만 지금은 0MB를 유지합니다. 스왑 공간을 사용하는 변수는 많으므로 무조건적으로 0이 되었다고는 말할 수가 없습니다. 하지만 평소에 적은 공간이라도 사용하고 있던 스왑공간이 0이 되었습니다.
leejo0531
댓글 11
와~ 이런건 생각치도 못하고 쓰고 있었는데
디테일하게 들어가면 해킨은 아직도 난이도 있는 작업이네요.
왜 4세대를 지원하지 않는지는 저도 잘 모르겠네요. 3세대도 똑같은 DDR3를 쓰고, 지원가능한 메모리도 거의 같은데 말이죠...
이벤트 자동 참여 : +3 포인트 감사합니다.