[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024

All MAMP discussions around troubleshooting and anything related to MAMP. Be as detailed as possible here when posting an issue.
Post Reply
mampsupportmod
Site Admin
Posts: 156
Joined: Wed Jan 20, 2021 3:06 am

[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024

Post by mampsupportmod »

This is still a prevalent issue with MySQL 5.7.32 & MAMP Pro. Every so often, MySQL "goes away" and the only way to recover is restarting MySQL. I've already increased macOS file descriptors per below.

[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024
[Warning] File Descriptor 1064 exceeded FD_SETSIZE=1024



To check the current limits on your Mac OS X system, run:
launchctl limit maxfiles
The last two columns are the soft and hard limits, respectively.

Adjusting Open File Limits in Yosemite
To adjust open files limits on a system-wide basis in Mac OS X Yosemite, you must create two configuration files. The first is a property list (aka plist) file in /Library/LaunchDaemons/limit.maxfiles.plist that contains the following XML configuration:

Code: Select all

<?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>200000</string>
          <string>200000</string>
        </array>
      <key>RunAtLoad</key>
        <true/>
      <key>ServiceIPC</key>
        <false/>
    </dict>
  </plist>
This will set the open files limit to 200000. The second plist configuration file should be stored in /Library/LaunchDaemons/limit.maxproc.plist with the following contents:

Code: Select all

<?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.maxproc</string>
      <key>ProgramArguments</key>
        <array>
          <string>launchctl</string>
          <string>limit</string>
          <string>maxproc</string>
          <string>2048</string>
          <string>2048</string>
        </array>
      <key>RunAtLoad</key>
        <true />
      <key>ServiceIPC</key>
        <false />
    </dict>
  </plist>
Both plist files must be owned by root:wheel and have permissions -rw-r--r--. This permissions should be in place by default, but you can ensure that they are in place by running sudo chmod 644 . While the steps explained above will cause system-wide open file limits to be correctly set upon restart, you can apply them manually by running launchctl limit.

In addition to setting these limits at the system level, we recommend setting the at the session level as well by appending the following lines to your bashrc, bashprofile, or analogous file:

Code: Select all

ulimit -n 200000
ulimit -u 2048
Like the plist files, your bashrc or similar file should have -rw-r--r-- permissions. At this point, you can restart your computer and enter ulimit -n into your terminal. If your system is configured correctly, you should see that maxfiles has been set to 200000.
MAMP Support Forums is an unofficial support forum covering MAMP & MAMP Pro solution stacks.
Post Reply