亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python 踩坑之旅進程篇其五打不開的文件

系統 1525 0

代碼示例支持
平臺: Centos 6.3
Python: 2.7.14
代碼示例: 菜單 - Python踩坑指南代碼示例
1.1 踩坑案例
長期運行的daemon進程或者socket測試類進程, 經常遇到的坑是:

IOError: [Errno 24] Too many open files

即進程遇到 IO 錯誤, 無法打開更多的文件.

1.2 填坑和分析
一般從兩個方面入手:

1.2.1 從程序優化入手
檢查文件打開是否遵循了"誰打開誰關閉"原則
文件是否存在關閉泄露
a. 誰打開誰關閉是個普適的原則:

只有邏輯設計者自己最熟悉
哪些文件 FD 需要一直維持打開狀態
哪些文件直到某個事件發生后關閉
短暫的文件讀寫打開推薦使用 pythonic 的 with statement

在此推薦小編創建的Python學習交流群:835017344,這里是python學習者聚集地,有大牛答疑,有資源共享!有想學習python編程的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小伙伴歡迎加入學習。

with 語法會在生命周期后自動關閉打開的文件 FD

with open('xxxx_path.file', 'w') as fhandle:
fhandle.dosth()
b. 檢查文件 FD 是否存在泄漏

系統設計階段一般會預估系統總體可打開的 FD 情況. 當出現如下情況時可能出現了泄漏 BUG

外圍監控系統發現該進程 FD 大量突破了設計預估
打開 FD 增長趨勢異常
一般隨著業務增加, FD 會線性增長, 但有限度和規律
如果增長曲線不停的出現陡峭增長且在業務低峰期也如此可能出現了泄露
Python 基礎庫 CUP 提供對進程打開 FD 的支持, 詳見示例代碼.

1.2.2 從資源軟硬限入手
了解系統的資源軟硬限制
檢查進程可打開的FD是否突破了系統限制
長期運行的 daemon 進程尤其注意
以 Centos 6.3 Linux系統 為例, 查看 /etc/security/limits.conf 獲得系統軟硬限資源

  • soft nofile 10240
  • hard nofile 10240
    其中, 用戶不能突破系統的硬線 hard nofile limit .

用戶也可以通過 shell 命令 ulimit -n 來限定該 shell 啟動的所有進程的 nofile

當然非 root 用戶是不能突破系統硬線的
用戶為了進程控制, 可以設定nofile更小
ulimit -a 可以查看當前用戶被設定的限制, 示例:

[test@agent1 ~]$ ulimit -a
core file size (blocks, -c) 0
.......
open files (-n) 10240
.....
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
1.4.1 技術關鍵字
Open FD
資源 Soft limit / Hard limit


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久国产网 | 97视频免费人人观看人人 | 久久精品播放 | 欧美精品国产一区二区三区 | 99在线精品免费视频九九视 | 国产精品美女一区二区 | 国产一区二区三区亚洲综合 | 精品久久久日韩精品成人 | 国产亚洲欧美在在线人成 | 免费精品美女久久久久久久久 | 一级激情视频 | 欧美成人特黄级毛片 | 中文字幕在线精品不卡 | 成人精品一级毛片 | 色香欲综合成人免费视频 | 精品xxxxxbbbb欧美中文 | 亚洲国产精品自产拍在线播放 | 亚洲精品香蕉一区二区 | 日本岛国片在线观看 | 国产精品日韩一区二区三区 | 日日操夜夜| 91视频香蕉视频 | 四虎永久免费 | 欧美一级亚洲一级 | 久久久婷| 香蕉国产一区二区 | 狠色狠狠色狠狠狠色综合久久 | 波多野结衣绝顶大高潮 | 日日操夜夜爽 | 黄色男人的天堂 | 国产乱码亚洲精品一区二区 | 国产系列 视频二区 | 九色最新网址 | 成人一级视频 | 婷婷免费高清视频在线观看 | 免费国产精品视频 | 九九久久九九久久 | 99国产精品视频免费观看 | 精品国产97在线观看 | 狠狠色丁香久久婷婷综合_中 | 四虎影视在线 |