程序运行出现错误:

GLib-ERROR **: Creating pipes for GWakeup: Too many open files

  网上一查,原因是:当前进程创建的线程个数,超过Ubuntu 限制的每个进程可创建线程个数导致.

  推荐的解决办法如下:

# 先看看当前设置情况?
ulimit -a

# 再改一下设置:
ulimit -n 4096

 

  可是,这思路不对啊.明明是程序问题,扩大数量是能解决一时问题,时间一长照样嗝屁.说到底还是程序问题.可是打开了哪些文件?使用这个办法:

lsof -p 进程id > openfiles.log