/etc/sysctl.conf
저는 Mac Monterey 12.1을 사용하고 있으며 파일의 공유 메모리 제한을 늘렸습니다.
kern.sysv.shmmax: 16777216
kern.sysv.shmmin: 1
kern.sysv.shmmni: 128
kern.sysv.shmseg: 512
kern.sysv.shmall: 4096
security.mac.posixshm_enforce: 1
security.mac.sysvshm_enforce: 1
컴퓨터를 다시 시작하고 종료합니다. 그런데 재부팅 후 다음을 실행하면 sysctl -A | grep shm
파일과 다른 값이 표시됩니다 .
kern.sysv.shmall: 1024
kern.sysv.shmmax: 4194304
kern.sysv.shmmin: 1
kern.sysv.shmmni: 32
kern.sysv.shmseg: 8
security.mac.posixshm_enforce: 1
security.mac.sysvshm_enforce: 1
여전히 /etc/sysctl.conf
변경 사항이 지속되는 것으로 표시됩니다.
즉, sysctl -A | grep shm
이러한 값이 어디서 얻어지는지는 알 수 없습니다.
어디서 수정해야 하는지 아는 사람 있나요?
답변1
고마워하는알렉산더 덴킨나를 올바른 길로 인도해주세요.
fio
OP에 따르면 벤치마킹과 비슷한 문제가 있었습니다.해결됨Alexander가 게시한 콘텐츠의 수정된 버전입니다.
다음은 다소 요약되고 맞춤화된 단계입니다.사용자 997112문제.
속도
- SIP 비활성화
- 애플의 면책 조항
경고하다
필요한 작업을 수행하기 위해 SIP를 일시적으로만 비활성화하고 가능한 한 빨리 다시 활성화하십시오. 테스트를 완료한 후 SIP를 다시 활성화하지 못하면 컴퓨터가 악성 코드에 취약해질 수 있습니다.
- 애플의 면책 조항
- 만들다
/Library/LaunchDaemons/com.startup.sysctl.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!-- DISABLE SIP TO USE: macOS Recovery > Utilities > Terminal > `csrutil disable` > Reboot --> <plist version="1.0"> <dict> <key>Label</key> <string>com.startup.sysctl</string> <key>LaunchOnlyOnce</key> <true/> <key>StandardErrorPath</key> <string>/private/tmp/sysctl.err</string> <key>StandardOutPath</key> <string>/private/tmp/sysctl.out</string> <key>ProgramArguments</key> <array> <string>/usr/sbin/sysctl</string> <string>-w</string> <string>kern.sysv.shmmax=16777216</string> <string>kern.sysv.shmmin=1</string> <string>kern.sysv.shmmni=128</string> <string>kern.sysv.shmseg=512</string> <string>kern.sysv.shmall=4096</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
- 일부 관리 항목 후에 PLIST 로드
# sanity check sysctl -a | grep shm # set permissions sudo chown root:wheel /Library/LaunchDaemons/com.startup.sysctl.plist # validate key-value pairs plutil /Library/LaunchDaemons/com.startup.sysctl.plist # load plist sudo launchctl bootstrap system /Library/LaunchDaemons/com.startup.sysctl.plist # check logs tail -f /tmp/sysctl.out tail -f /tmp/sysctl.err # recheck sysctl values sysctl -a | grep shm
원천
Catalina Apple 개발자 포럼에서 공유 메모리 설정 |
c++ - 공유 메모리 "열린 파일이 너무 많습니다"이지만 ipcs에 많은 할당이 표시되지 않습니다.
답변2
- 파일 다운로드
.plist
https://anonfiles.com/3eGaR6kfya/com.startup.sysctl_plist - 다운로드한 파일을 다음으로 이동하세요.
/Library/LaunchDaemons/com.startup.sysctl.plist
- 터미널을 시작하고 두 개의 명령을 순서대로 작성합니다. 먼저 "
sudo chown root:wheel /Library/LaunchDaemons/com.startup.sysctl.plist
", 그 다음 "sudo launchctl load -w /Library/LaunchDaemons/com.startup.sysctl.plist
" - 시스템을 다시 시작하십시오.