Linux下的句柄泄露(打開文件數,類比句柄泄露)查看與修改

Linux系統的最大文件句柄數(打開文件數,Linux下一切皆文件,這裏僅做類比句柄描述),系統默認是1024。用ulimit -n進行查看。當存在句柄泄露沒有釋放時,系統會報錯:Too many open files

 

查看進程打開的文件句柄數量

# lsof -n | awk '{print $2}'| sort | uniq -c | sort -nr | grep 過濾條件

其中第一列是打開的句柄數,第二列是進程ID

一般用法是: lsof -c KeyWord

 

修改linux的最大文件句柄數限制的方法:

1ulimit -n 65535  

       在當前session有效,用戶退出或者系統重新後恢復默認值

2)修改profile文件:在profile文件中添加:ulimit -n 65535 

       只對當個用戶有效

3)修改文件:/etc/security/limits.conf,在文件中添加:(立即生效-當前session中運行ulimit -a命令無法顯示)

* soft nofile 32768 #限制單個進程最大文件句柄數(到達此限制時系統報警)  

* hard nofile 65536 #限制單個進程最大文件句柄數(到達此限制時系統報錯)  

4)修改文件:/etc/sysctl.conf。在文件中添加:

fs.file-max=655350 #限制整個系統最大文件句柄數  

      運行命令:/sbin/sysctl -p使配置生效

發佈了58 篇原創文章 · 獲贊 83 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章