Socket accept - 「Too many open files」

什麼是 "too many open files" 錯誤,這是因為 linux 有限限定起開資源的數量,socket 連線和 file 都算是資源的一種

1. 首先怎麼查詢 open file 目前的上限?

ulimit -nulimit -a

2. 如何修改 open file 的上限值
3. 查詢某個 process 使用的資源量

lsof -p {$pid}|wc -l

Reference:
http://unix.stackexchange.com/questions/36841/why-is-number-of-open-files-limited-in-linux
https://onebitbug.me/2014/06/23/setting-limit-in-linux/
http://www.cnblogs.com/derekchen/archive/2012/04/13/2445516.html