Last active
April 17, 2024 01:13
-
-
Save ndimiduk/a6c2aa781c20fb8bb9c20abbcf5bac4f to your computer and use it in GitHub Desktop.
Demonstrating the effect of JVM arg -XX:-MaxFDLimit on OSX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ cat /Library/LaunchDaemons/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>524288</string> | |
<string>524288</string> | |
</array> | |
<key>RunAtLoad</key> | |
<true/> | |
<key>ServiceIPC</key> | |
<false/> | |
</dict> | |
</plist> | |
$ ulimit -n ; ulimit -Hn | |
524288 | |
524288 | |
$ java -version | |
openjdk version "1.8.0_222" | |
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10) | |
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode) | |
$ cat Fds.java | |
import com.sun.management.UnixOperatingSystemMXBean; | |
import java.lang.management.ManagementFactory; | |
public class Fds { | |
public static void main(final String[] argv) { | |
final UnixOperatingSystemMXBean osMBean = | |
(UnixOperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); | |
System.out.println("opendfs: " + osMBean.getOpenFileDescriptorCount()); | |
System.out.println("maxfds: " + osMBean.getMaxFileDescriptorCount()); | |
} | |
} | |
$ javac Fds.java | |
$ java Fds | |
opendfs: 5 | |
maxfds: 10240 | |
$ java -XX:-MaxFDLimit Fds | |
opendfs: 5 | |
maxfds: 524288 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment