mac 下修改打开文件最大数量

    "too many open files"是一个常见的Linux错误,它表明进程已达到它可以同时打开的文件的最大数量。这个限制包括所有类型的文件,包括网络连接

    这个限制是由操作系统级别的配置参数定义的,你可以使用ulimit命令查看和修改这些参数。例如,要查看当前的打开文件限制,你可以运行:

    在 macOS 系统中,你可以使用 launchctl 命令来查看和修改打开文件的最大数量。

    首先,要查看当前的限制,你可以在终端中运行以下命令:

    launchctl limit maxfiles
    

    这将会显示当前的软限制(第一列)和硬限制(第二列)。

    要提高这个限制,你可以使用以下命令。例如,以下命令将软限制设置为 8192,硬限制设置为 20480:

    sudo launchctl limit maxfiles 8192 20480
    

    请注意,这些更改只会影响当前的会话。如果你想要永久地更改这些限制,你需要创建或修改一个系统级别的 plist 文件。以下是一个示例步骤:

    1. 使用文本编辑器(如 vim 或 nano)创建一个名为 limit.maxfiles.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">
    <plist version="1.0">
      <dict>
        <key>Label</key>
        <string>limit.maxfiles</string>
        <key>ProgramArguments</key>
        <array>
          <string>launchctl</string>
          <string>limit</string>
          <string>maxfiles</string>
          <string>8192</string>
          <string>20480</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>ServiceIPC</key>
        <false/>
      </dict>
    </plist>
    
    1. 把这个文件保存到 /Library/LaunchDaemons/ 目录下,文件名为 limit.maxfiles.plist
    sudo mv limit.maxfiles.plist /Library/LaunchDaemons/
    
    1. 修改文件的所有者和权限:
    sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
    sudo chmod 644 /Library/LaunchDaemons/limit.maxfiles.plist
    
    1. 使用 launchctl 加载新的配置:
    sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
    

    现在,每次你的系统启动时,打开文件的限制都会被设置为你在 plist 文件中指定的值。

    评论栏