linux Too Many Files 問題檢視和解決方法
今天一個python處理程式報錯 Too Many Files,只看一看就是開啟了太多檔案,
檔案是用多程式啟動的,一共看了16個子程式,
然後我用 ulimit -a 檢視 當前系統設定的最大控制程式碼
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63532
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 2048
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 63532
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
其中openfile 那一行就代表單個程式可以開啟的最大控制程式碼數,這裡我設定為2048,開始是1024
然後使用 lsof -p 程式ID|wc -l 檢視程式所開啟的檔案數量,這裡的檔案包括所開啟的各種包的檔案比如json,然後發現開啟的檔案數只有60個,因為程式裡並沒有涉及到檔案的讀寫操作,所以猜想這裡的檔案數都算到了附近程裡,然後
利用 ps -ef|grep 檔名 第三行就是父程式ID, 檢視父程式所開啟檔案數也只有60幾個,所以之前的猜想是錯誤的,所以這裡猜想pymongo的底層會做讀寫操作,
隨著時間的推移會增加開啟檔案數,這裡使用
增加開啟檔案數的最大數量
ulimit -n 2048
隨後繼續觀察,歡迎給出意見
參考文章 https://blog.csdn.net/roy_70/article/details/78423880
相關文章
- Ubuntu 解決 Too many open files 問題Ubuntu
- 解決 Too many symbol filesSymbol
- Too many files with unapproved license異常APP
- Too many open files報錯處理
- mysql備份提示 too many open files Errornumber 24MySqlError
- nginx 報錯 accept4 () failed (24: Too many open files)NginxAI
- 31.提示錯誤fopen_means Too many open files
- docker中使用systemctl命令時報Too many open files錯誤Docker
- MySQL問題處理——1040錯誤Too many connectionsMySql
- too many open files 與程式網路連線資料檢視[轉載自北風之神巨佬的文章]
- 從原始碼角度談談open_files_limit的生成邏輯及"Too many open files"的解決思路原始碼MIT
- krpano 問題解決之 “Too many active WebGL contexts. Oldest context will be lost.”WebContext
- 粘包問題原因和解決方法
- Firefox 使用常見問題和解決方法Firefox
- Spark 環境問題記錄和解決方法Spark
- MySQL ERROR 1040: Too many connectionsMySqlError
- Redis常見的效能問題和解決方法UWRedis
- 解決:ChatGPT too many requests in 1 hour.Try again laterChatGPTAI
- Many To Many could not initialize proxy – no Session的解決方法Session
- 在Linux中,如何診斷和解決系統啟動問題?Linux
- React報錯之Too many re-rendersReact
- 如何修復 SPF PermError: too many DNS lookupsErrorDNS
- redis分散式鎖的問題和解決Redis分散式
- 最新 IDEA 和 Maven 整合問題和解決IdeaMaven
- android中The connection to adb is down,問題和解決Android
- [20230104]Oracle too many parse errors PARSE ERROR.txtOracleError
- Linux檢視程式PID的方法?Linux
- Oracle 11.2.0.4.0 install for Win10(專業版) 常見問題和解決方法OracleWin10
- 社交電商系統開發時的常見問題和解決方法
- 如何診斷和解決db2問題DB2
- [20200309]rlwrap: error: Cannot execute sqlplus: Too many levels of symbolic linErrorSQLSymbol
- ValueError: output parameter for reduction operation logical_and has too many dimensions ?Error
- 解決 ln -s 軟連結產生的Too many levels of symbolic links錯誤Symbol
- Java程式碼解決ElasticSearch的Result window is too large問題JavaElasticsearch
- 解決 Specified key was too long ... 767 bytes 的本質問題
- Oracle 惡意攻擊問題分析和解決(一)Oracle
- SVN解決不能檢視最近提交日誌的問題
- SELinux簡介和解決方法Linux