精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

你真知道“Too many open files”?

開發
ulimit這個命令其實是系統的內部命令(不信你打which ulimit)它也是調用setrlimit完成的設置。二者的區別是pam_limit是自動加載的(屬于linux的“認證模塊”),ulimit你必須動手輸入命令。

江湖上的人都碰到過Too many open files的錯誤(無論你是多線程,網絡socket,還是別的什么幺蛾子,這個錯誤很常見)。筆者一個朋友剛好也碰到過,經過一番搜索最終解決了問題。但是始終沒有搞清楚——“到底問題出在哪里?”。我當然也講不清楚(否則就不會有這篇文章咯)網上也找不到相關資料。作為一個有良知的自媒體公眾賬號,我決定要把替大家去深究一下這個問題。(花了兩個晚上~~,記得打賞我)

網上流傳的三種做法:

  • 修改ulimit命令修改,這種修改只能在當前會話有效或者/etc/security/limits.conf設置hard soft nofile,可以一直有效
  • sysctl修改fs.file-max
  • 修改/proc/sys/fs/nr_open(可選)

還有一種傳說這是有優先級的——limit.conf < fs.file-max < nr_open

然而這都是扯淡,純粹的臆想。有良知的自媒體公眾賬號是講道理的,正所謂——沒代碼你說個屁啊!!!;所以我就順著Linux Kernel的代碼挖了下去。

Linux/Unix一個著名的哲學就是——“萬物皆文件”,無論是一個線程、socket、還是真正的文件都會被當做“文件”。Too may open files通常意味著“文件描述符”不足,它一般會發生在“創建線程”、“創建socket”、“打開文件”這種場景下。我選“創建socket”作為出發點

文件描述符的限制?不對!!

調用socket函數的時候內核會分兩步操作——填充數據結構,分配fd。我們重點看socket_map_fd

關鍵的地方來了,get_unused_fd_flags會嘗試分配一個fd,但是這個僅僅是fd——是一個數字而已;就是我們常說的——文件描述符。僅僅有一個數字并不代表什么,它相當于一個占位符,系統并沒有實際的分配資源。socket_alloc_file才是真正的建立文件結構(內核的數據結構:struct file)。打開get_unsed_fd_flags摸下去:

同志們,重點又來了。rlimit(RLIMIT_NOFILE)這個函數得到的是soft nofile,我們繼續看__alloc_fd

fd備用有三部分組成,進程當前預分配的(fd位圖中設置了標記,fdt->next_fd);進程當前可用的(fd位圖中沒有設置標記,fdt->max_fds);進程擴展的(fd位圖中都不存在,需要執行expand_files擴展fd位圖)所以__alloc_fd函數分為了三步嘗試分配fd。

  • 嘗試“預分配”的fd(直接分配)
  • 嘗試分配“可用的”的fd(需要填充位圖)
  • 嘗試擴展fd位圖大小

如果fd超過soft nofile,這個函數會直接返回“錯誤”。所以soft nofile是fd大小限制的***道關卡,hard nofile全程沒用。soft nofile的準確而含義是——當前可以使用多少fd。

當前是跟“進程”有關系的,詳細內容請看***一部分。我們繼續看“擴充”fd:

fs.nr_open是文件描述符的***一道關卡,當我們嘗試擴充文件描述符的時候只要你不大于它系統就允許你擴充,它的***值是2147483584。

結論:

  • soft nofile、fs.nr_open是用來控制文件描述符數量的
  • soft nofile其實是linux的pam_limit模塊設置的如果你不啟用這個模塊,你只能通過ulimit命令調整。如果不調整它的值是4096(可以看***的代碼圖)
  • nr_open表示文件描述符***數量。它的***值是2147483584(64位機器上2^31-64)。這也是是soft nofile、fs.nr_open可以設置的***值。

文件結構體

文件描述符在內核中其實是一個數字,它代表的是一個“索引”而索引的內容是“文件結構體”(內核數據結構 struct file)。內核分配資源的時候把“索引”和“內容”當做兩種資源來分配。先申請“索引”后申請“內容”。跳回sock_map_fd看第二步——分配文件結構,它調用了sock_alloc_file函數。

順著這個函數走下去你會發現——file-max(為了節省版面,完整的代碼圖我附在后面)

file-max是指struct file的上限。你可以把soft nofile、fs.nr_open設置成天文數字,但是不設置file-max就意味著沒法分配struct file,文件描述符就沒用了,依舊資源分配不成功。(像12306,你搶到票還不行還得“排隊”。搶到的僅僅是一個占位符,到***可能“沒票了”。對,我沒買到車票,等大家眾籌機票了。)

總結:

  • fs.file-max是用來控制文件結構體數量的

等等,還沒結束

上面已經扒出了三個參數的真實意義,但是作為一個——有良知的自媒體公眾號必須把道理講清楚。所以我就挖出了soft nofile的前生今世。

PAM(Pluggable Authentication Modules)是Linux的認證框架,在系統啟動成功后無論是后臺服務進程還是bash都會通過setup_limits加載/etc/security/limit.conf文件然后調用setrlimit重新設置進程的rlimt——其中就包括了soft nofile。(pam_limit不在內核代碼中它有自己獨立的代碼倉庫,為了做有良知的自媒體我是不是特別拼?)

ulimit這個命令其實是系統的內部命令(不信你打which ulimit)它也是調用setrlimit完成的設置。二者的區別是pam_limit是自動加載的(屬于linux的“認證模塊”),ulimit你必須動手輸入命令。

【本文是51CTO專欄作者邢森的原創文章,轉載請聯系作者本人獲取授權】

責任編輯:武曉燕 來源: 寫程序的康德
相關推薦

2023-04-26 00:06:22

服務器死循環報錯

2021-02-09 08:13:51

項目內存TCP

2018-05-21 10:11:43

2024-09-04 16:00:24

PostgreSQL數據庫

2019-06-18 15:20:01

MySQL連接錯誤數據庫

2024-01-07 20:05:33

2023-12-25 14:47:14

2023-01-31 09:02:24

JSVMVR

2009-12-14 15:02:36

Open office

2009-12-02 09:17:50

Open Suse

2010-11-23 10:21:53

跳槽

2022-08-11 08:46:23

索引數據結構

2020-04-27 10:34:23

HTTPDNSDNS網絡協議

2022-01-04 10:10:34

Garuda LinuArch LinuxLinux

2018-01-10 08:27:00

2024-05-06 00:30:00

MVCC數據庫

2020-06-05 08:37:08

Object.entr開發Object.from

2024-03-08 13:33:08

PG數據安全

2013-06-27 10:09:21

大數據

2010-04-02 15:20:18

云存儲
點贊
收藏

51CTO技術棧公眾號

久久6免费视频| 欧美日韩在线精品一区二区三区| 亚洲一二三四五六区| 一区二区三区| 亚洲精品国产一区二区三区四区在线 | 99久久.com| 欧美成人精品福利| www黄色av| 国内精品久久久久久野外| 国产一区二区三区美女| 2019日本中文字幕| 美女福利视频网| 国产精品国产| 色久优优欧美色久优优| 成人在线观看www| 秋霞av在线| 国产精品一区二区三区四区| 日韩av第一页| 久一区二区三区| 色喇叭免费久久综合网| 亚洲国产精品久久久久秋霞蜜臀 | 国产在线视频卡一卡二| 不卡在线一区| 亚洲国产一区自拍| 激情在线观看视频| 电影天堂国产精品| 亚洲国产精品一区二区久久恐怖片| 涩涩日韩在线| 天堂成人在线| 国产精品一二三四区| 91精品国产乱码久久久久久久久| 日韩三级在线观看视频| 久久99高清| 亚洲风情亚aⅴ在线发布| 三上悠亚av一区二区三区| 松下纱荣子在线观看| 亚洲一区二区三区四区在线| 宅男一区二区三区| 福利视频在线看| 91麻豆成人久久精品二区三区| 亚洲最大福利视频| 国产在成人精品线拍偷自揄拍| 制服诱惑一区二区| 欧美极品美女电影一区| 一区二区三区影视| 99热国内精品永久免费观看| 亚洲欧美在线一区| v天堂中文在线| av毛片精品| 欧美大片国产精品| 色哟哟在线观看视频| 99综合久久| 7777精品伊人久久久大香线蕉的 | 日产精品一区| 色综合天天狠狠| 亚洲国产精品久久久久婷蜜芽| 黄色小说在线播放| 亚洲一区在线观看免费观看电影高清| 神马午夜伦理影院| 日韩特级毛片| 亚洲国产日韩一区二区| 成人黄色大片网站| 啦啦啦中文在线观看日本| 一区二区三区在线免费视频| 日本a级片在线播放| 手机电影在线观看| 亚洲在线视频一区| 日韩网站在线免费观看| 2021天堂中文幕一二区在线观| 亚洲亚洲精品在线观看| 国内精品在线观看视频| 忘忧草在线影院两性视频| 丁香五六月婷婷久久激情| 欧美激情成人网| 国产69精品久久久久按摩| 欧美日韩午夜精品| 中文 日韩 欧美| 538任你躁精品视频网免费| 欧美精品一区二区三区蜜臀| 熟妇高潮精品一区二区三区| 国产最新精品| 蜜臀久久99精品久久久无需会员| 国产大学生自拍| 在线亚洲免费| 国产伊人精品在线| 亚洲成人中文字幕在线| 成人av在线资源网站| 欧美午夜精品久久久久免费视| а天堂8中文最新版在线官网| 亚洲欧洲日产国码二区| 欧日韩免费视频| 国产精品高清乱码在线观看| 欧美日本在线视频| 日本美女视频网站| 国产麻豆一区二区三区精品视频| 在线观看不卡av| 欧美日韩一级在线观看| 久久国产精品久久久久久电车| 国产精品一区二区三区成人| 亚洲av无码一区二区乱子伦| 国产无人区一区二区三区| 400部精品国偷自产在线观看| av最新在线| 欧美日韩一区二区三区在线| 欧美激情一区二区三区p站| 国内精品久久久久久99蜜桃| 九九精品视频在线观看| 东京热一区二区三区四区| 国产美女精品在线| 欧美中日韩免费视频| av免费在线观看网址| 色综合欧美在线视频区| 国产人妻精品久久久久野外| 美国成人xxx| 久久久国产影院| 亚洲黄网在线观看| 成人av在线观| 免费的av在线| 亚洲成人人体| 亚洲精品av在线播放| 一区二区成人免费视频| 巨乳诱惑日韩免费av| 国产精华一区| 成a人片在线观看| 欧美视频一区二区三区四区 | 国产女人aaa级久久久级| 日韩国产小视频| 天堂久久一区| 这里只有精品在线观看| 97久久久久久久| 粉嫩在线一区二区三区视频| 中文字幕一区二区三区四区五区人| 最近高清中文在线字幕在线观看1| 日韩欧美国产一区二区三区| 日韩av毛片在线观看| 日本欧美加勒比视频| 精品无人区一区二区三区| 亚洲第一图区| 欧美一级生活片| 一本色道久久88| 日本欧洲一区二区| 色女人综合av| 黄瓜视频成人app免费| 亚洲精品一区二三区不卡| 国产亚洲精品av| 国产aⅴ综合色| 国产在线拍揄自揄拍无码| 香蕉久久一区| 精品国产欧美一区二区三区成人| 波多野结衣视频免费观看| 91免费视频大全| 久草资源站在线观看| 亚洲三级网址| 日韩免费在线播放| 国产鲁鲁视频在线观看免费| 欧美专区在线观看一区| 免费看裸体网站| 日韩av在线发布| 日韩国产一区久久| 国产成人福利夜色影视| 爽爽爽爽爽爽爽成人免费观看| 日批视频免费观看| 中文字幕欧美日韩一区| 亚洲综合av在线播放| 婷婷六月综合| 99久久伊人精品影院| 国产桃色电影在线播放| 亚洲福利小视频| 日本韩国欧美中文字幕| 国产无一区二区| 国产又粗又长又爽又黄的视频| 亚洲天天影视网| 国产精品swag| 日韩大尺度黄色| 色吧影院999| 国产xxxx在线观看| 午夜精品一区二区三区免费视频 | 国产男男gay体育生白袜| 亚洲乱码国产乱码精品精98午夜 | 日本精品一区二区三区四区| 九热爱视频精品视频| 国产免费一区视频观看免费| 影音先锋在线视频| 国产视频欧美视频| 国产真人无遮挡作爱免费视频| 国产精品久久久99| 久久久久亚洲av无码专区首jn| 99pao成人国产永久免费视频| 日韩jizzz| 一区二区三区视频播放| 日韩av黄色在线观看| 超碰在线网址| 日韩av综合网站| 一级特黄aaaaaa大片| 亚洲午夜成aⅴ人片| 手机看片福利视频| 国产精品影音先锋| 中文字幕日本最新乱码视频| 91欧美国产| 久久久精彩视频| av在线成人| 日本韩国在线不卡| 在线中文字幕电影| 亚洲视频axxx| 蜜桃av中文字幕| 欧美日韩大陆一区二区| 欧美福利视频一区二区| 中文字幕一区二区三区不卡| 国产激情视频网站| 韩国精品久久久| 免费日韩视频在线观看| 欧美福利电影在线观看| 日本在线播放一区| 看亚洲a级一级毛片| 国产精品久久久亚洲| 91资源在线观看| 久久久av一区| aaa日本高清在线播放免费观看| 精品国产麻豆免费人成网站| 亚洲在线视频播放| 色网综合在线观看| 久久露脸国语精品国产91| 亚洲日本电影在线| 韩国女同性做爰三级| eeuss鲁片一区二区三区在线观看 eeuss影院一区二区三区 | 日本蜜桃在线观看| 亚洲欧美在线一区| 亚洲色偷精品一区二区三区| 欧美成人精品1314www| 国产精品久久久久久69| 欧美亚洲综合在线| 免费污污视频在线观看| 天天操天天干天天综合网| 免费看一级一片| 亚洲免费观看在线观看| 伊人久久久久久久久久久久久久| 久久精品免费在线观看| 亚洲第九十七页| www.性欧美| www.男人天堂| 97精品超碰一区二区三区| 26uuu国产| 国v精品久久久网| 91人人澡人人爽| 国产a级毛片一区| 中文在线字幕观看| 国产福利不卡视频| 中文字幕乱码在线人视频| 国产自产高清不卡| 日本一二区免费| 精品一区中文字幕| www.国产福利| 国产酒店精品激情| 日本wwww色| 99视频一区二区| 国产艳俗歌舞表演hd| 久久久www成人免费毛片麻豆 | 国产精品第一页第二页第三页| 婷婷综合在线视频| 国产精品美女一区二区三区 | 亚洲欧美日韩高清在线| 熟妇熟女乱妇乱女网站| 伊人久久大香线蕉精品组织观看| 欧美性受xxxx黑人猛交88| 在线精品国产| 久久久久久久9| 亚洲一区二区三区高清| 亚洲色图38p| 久久精品国产久精国产爱| 中文字幕免费高清在线| 国内精品自线一区二区三区视频| 香蕉视频xxxx| 成人免费高清在线观看| 中文字幕国产综合| 国产精品免费久久| 青娱乐免费在线视频| 欧美日韩亚洲高清| 亚洲一区二区三区高清视频| 欧美一级片免费看| 香蕉视频黄色片| 一个色综合导航| 成年人黄视频在线观看| 91av在线播放视频| 成人黄色免费观看| 99久久自偷自偷国产精品不卡| 久久av国产紧身裤| 亚洲国产日韩美| 狠狠爱www人成狠狠爱综合网| 国产男女无遮挡| 精品一区二区免费| 成人在线视频免费播放| 国产欧美精品一区| 久久精品免费av| 在线观看成人小视频| 免费观看国产精品| 在线日韩日本国产亚洲| 国产白丝在线观看| 国产精品综合久久久| 久久香蕉精品香蕉| 亚洲永久一区二区三区在线| 韩日精品视频| 2014亚洲片线观看视频免费| 国产sm调教视频| 亚洲精品国产a| 无码一区二区三区在线观看| 欧美一区二区三区免费视频| 日韩精品视频在线观看一区二区三区| 中文字幕日韩高清| sm性调教片在线观看| 成人激情在线观看| 亚洲调教一区| 欧美一级特黄aaaaaa在线看片| 老司机午夜免费精品视频| 麻豆传媒在线看| 国产色综合久久| 日韩av一区二区在线播放| 欧美人xxxx| 久香视频在线观看| 久久久久久久久久久av| 国产精品一区免费在线| 日本一区二区三区精品视频| 伊人久久大香线蕉综合热线| 亚洲一二三av| 日本一区二区三区四区在线视频| 日本三级黄色大片| 日韩一区二区三区在线观看| 99se视频在线观看| 日本欧美中文字幕| 人人精品亚洲| 亚洲精品蜜桃久久久久久| 久久99国产精品免费| 91激情视频在线观看| 欧美午夜影院在线视频| 少妇一级淫片免费看| 欧美激情女人20p| 美女久久精品| 精品国产三级a∨在线| 免费在线欧美视频| 国产中年熟女高潮大集合| 欧美日韩一区二区免费在线观看| 五月天亚洲综合小说网| 欧美日韩国产色综合一二三四| 久久久久久综合网| 国产精品无码永久免费888| 久久人人爽人人爽人人片av免费| 精品亚洲一区二区三区| 中文字幕在线视频久| 你懂的视频在线一区二区| 在线视频精品| 免费的av网站| 欧美日韩在线一区| 亚洲欧美一区二区三| 欧美做爰性生交视频| 国产99精品| 欧美午夜aaaaaa免费视频| 国产精品久久久久久久久搜平片 | 欧美猛男超大videosgay| 婷婷在线视频观看| 国产欧美日韩精品专区| 婷婷综合社区| 又黄又爽又色的视频| 一区二区三区**美女毛片| 成人高潮片免费视频| 国产+人+亚洲| 免费成人网www| 精品久久久噜噜噜噜久久图片| 欧美国产激情一区二区三区蜜月| 正在播放木下凛凛xv99| 色噜噜狠狠狠综合曰曰曰88av | 97久久天天综合色天天综合色hd| 你懂的国产精品| 在线中文字日产幕| 精品日韩中文字幕| 国产最新视频在线| 成人福利免费观看| 欧美激情麻豆| 国产精品无码电影| 在线欧美日韩精品| 国产一区久久精品| 国产伦精品一区| 久久影院亚洲| 亚洲欧美精品aaaaaa片| 精品福利av导航| 精品欧美日韩精品| 黄色一级视频播放| 97国产精品videossex| 国产精品第6页| 久久97精品久久久久久久不卡| 欧美激情15p| 日本在线播放一区二区| 亚洲国产综合在线| www日韩tube| 国产福利久久| 日本不卡一区二区三区| 男女免费视频网站| 国产一区二区久久精品| 欧美激情三级| 黄色片在线免费| 亚洲午夜久久久久久久久电影网| 国产乱理伦片a级在线观看|