簡體   English   中英

嘗試分配更多共享 memory 時“驅動器上沒有剩余空間”

[英]"No space left on drive" when trying to allocate more shared memory

蘋果系統。 16GB 內存

我正在運行代碼(其他用戶在類似硬件上運行)分配共享 memory。 它通過了一半,然后隨着消息而死:

Error allocating shared memory:: No space left on device

我檢查過:

sysctl -A | grep shm               
kern.sysv.shmall: 1024
kern.sysv.shmmax: 4194304
kern.sysv.shmmin: 1
kern.sysv.shmmni: 32
kern.sysv.shmseg: 128
security.mac.posixshm_enforce: 1
security.mac.sysvshm_enforce: 1

我試圖增加shmall但不斷得到:

sysctl: unknown oid 'kern.sysv.shmall:'

有人知道怎么修這個東西嗎?

這看起來像https://unix.stackexchange.com/questions/689295/values-from-sysctl-a-dont-match-etc-sysctl-conf-even-after-restart/710645的副本。

我可以在這里復制/粘貼我的答案,但不確定這是否是雙重浸漬哈哈。 tl;博士是您需要在禁用 SIP后創建一個 LaunchDaemon :

<?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=4194304</string>
            <string>kern.sysv.shmmin=1</string>
            <string>kern.sysv.shmmni=32</string>
            <string>kern.sysv.shmseg=128</string>
            <string>kern.sysv.shmall=1024</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>

然后使用sudo launchctl bootstrap system /Library/LaunchDaemons/com.startup.sysctl.plist加載

Output 看起來像這樣:

λ tail -f /tmp/sysctl.out
kern.sysv.shmmax: 16777216 -> 4194304
kern.sysv.shmmin: 1 -> 1
kern.sysv.shmmni: 4096
kern.sysv.shmseg: 512 -> 128
kern.sysv.shmall: 4096 -> 1024

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM