最近在使用MAC對接口進行壓測,發現多線程高併發的時候,會有一些小坑,這裏整理下,方便後續查看。
1、容易出現unable to create thread 6: Too many open files。
原因是:文件句柄數不夠,需要調高ulimit 裏面的open file 的值。
輸入:ulimit -a 查看當前最大的文件打開數量(默認爲256)。
2、接下來使用ulimit -n 命令來調高這個值(可能會出現權限錯誤)-bash: ulimit: open files: cannot modify limit: Operation not permitted:
原因是權限不夠,使用sudo來執行命令。 sudo ulimit -n 1024
按照提示輸入電腦密碼後,搞定。
3、如果調得過高的話,會出現報錯: ulimit: open files: cannot modify limit: Invalid argument。
解決方式:
輸入:sysctl -w kern.maxfiles=1048600
輸入:sysctl -w kern.maxfilesperproc=1048576
輸入:ulimit -n 1048576
隨後使用 ulimit -n 命令查看是否成功設置最大文件打開數。