亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

深入探討linux下進程的最大線程數、進程最大數、進程打開的文件數

2020-01-26 16:07:15
字體:
來源:轉載
供稿:網友
=====最大線程數====
linux 系統中單個進程的最大線程數有其最大的限制 PTHREAD_THREADS_MAX
這個限制可以在 /usr/include/bits/local_lim.h 中查看
對 linuxthreads 這個值一般是 1024,對于 nptl 則沒有硬性的限制,僅僅受限于系統的資源
這個系統的資源主要就是線程的 stack 所占用的內存,用 ulimit -s 可以查看默認的線程棧大小,一般情況下,這個值是 8M
可以寫一段簡單的代碼驗證最多可以創建多少個線程
復制代碼 代碼如下:

int main()
{
     int i = 0;
     pthread_t thread;
     while (1) {
         if (pthread_create(&thread, NULL, foo, NULL) != 0)
             return;
         i ++;
         printf("i = %d/n", i);
     }
}

試驗顯示,在 linuxthreads 上最多可以創建 381 個線程,之后就會返回 EAGAIN
在 nptl 上最多可以創建 382 個線程,之后就會返回 ENOMEM
這個值和理論完全相符,因為 32 位 linux 下的進程用戶空間是 3G 的大小,也就是 3072M,用 3072M 除以 8M 得 384,但是實際上代碼段和數據段等還要占用一些空間,這個值應該向下取整到 383,再減去主線程,得到 382。
那為什么 linuxthreads 上還要少一個線程呢?這可太對了,因為 linuxthreads 還需要一個管理線程
為了突破內存的限制,可以有兩種方法
1) 用 ulimit -s 1024 減小默認的棧大小
2) 調用 pthread_create 的時候用 pthread_attr_getstacksize 設置一個較小的棧大小
要注意的是,即使這樣的也無法突破 1024 個線程的硬限制,除非重新編譯 C 庫 <=此處值得討論,我在ubuntu 7.04+3G內存上用ulimit -s 1024,則可以得到3054個線程。
===============進程最大數=================
LINUX中進程的最大理論數計算:
每個進程的局部段描述表LDT都作為一個獨立的段而存在,在全局段描述表GDT中要有一個表項指向這個段的起始地址,并說明該段的長度以及其他一些 參數。除上之外,每個進程還有一個TSS結構(任務狀態段)也是一樣。所以,每個進程都要在全局段描述表GDT中占據兩個表項。那么,GDT的容量有多大 呢?段寄存器中用作GDT表下標的位段寬度是13位,所以GDT中可以有8192個描述項。除一些系統的開銷(例如GDT中的第2項和第3項分別用于內核 的代碼段和數據段,第4項和第5項永遠用于當前進程的代碼段和數據段,第1項永遠是0,等等)以外,尚有8180個表項可供使用,所以理論上系統中最大的 進程數量是4090。

====重新編譯內核來修改進程打開的最大文件數和修改listen偵聽隊列====
用“ulimit -a”能看到這些限制,如:
復制代碼 代碼如下:

[root@HQtest root]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 2047
virtual memory (kbytes, -v) unlimited

用ulimit ?n 10240 修改打開的文件數目變為 10240
雖然使用ulimit ?a 能看到變為10240,不過我在做壓力測試的時候,當超過1024個用戶時,服務就會down機。
最后只有重新編譯了內核,編譯內核后一切OK!
操作方法如下:
不同的Linux內核版本有不同的調整方法,
在Linux內核2.2.x中能用如下命令修改:
復制代碼 代碼如下:

# echo '8192' > /proc/sys/fs/file-max
# echo '32768' > /proc/sys/fs/inode-max

并將以上命令加到/etc/rc.c/rc.local文件中,以使系統每次重新啟動時設置以上值。
在Linux內核2.4.x中需要修改原始碼,然后重新編譯內核才生效。編輯Linux內核原始碼中的 include/linux/fs.h文件,
將 NR_FILE 由8192改為 65536,將NR_RESERVED_FILES 由10 改為 128。編輯fs/inode.c 文件將 MAX_INODE 由16384改為262144。
一般情況下,最大打開文件數比較合理的設置為每4M物理內存256,比如256M內存能設為16384,
而最大的使用的i節點的數目應該是最大打開文件數目的3倍到4倍。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
尤物精品国产第一福利三区| 成人福利网站在线观看11| 韩国三级电影久久久久久| 国产+成+人+亚洲欧洲| 欧洲永久精品大片ww免费漫画| 最近的2019中文字幕免费一页| 国产精品久久久久久久久借妻| 日韩在线一区二区三区免费视频| 精品女同一区二区三区在线播放| 久久精品国产成人| 国产精品电影观看| 日本成人激情视频| 欧美在线观看网站| 国产美女精彩久久| 91丝袜美腿美女视频网站| 亚洲aⅴ日韩av电影在线观看| 欧美肥婆姓交大片| 91爱爱小视频k| 免费97视频在线精品国自产拍| 成人精品视频在线| 国产精品情侣自拍| 国产精品高精视频免费| 国产欧美久久一区二区| 亚洲第一二三四五区| 91高清视频在线免费观看| 久久好看免费视频| 亚洲一区二区三区成人在线视频精品| 精品视频久久久久久久| 欧美性猛交xxxx免费看| 国产一区二区黑人欧美xxxx| 欧美大胆a视频| 热久久视久久精品18亚洲精品| 91sa在线看| 国产精品扒开腿爽爽爽视频| 国产午夜精品一区二区三区| 亚洲精品日韩丝袜精品| 亚洲xxxx妇黄裸体| 大胆欧美人体视频| xvideos亚洲| 2019中文在线观看| 爽爽爽爽爽爽爽成人免费观看| 亚洲国产一区自拍| 国产亚洲成精品久久| 97视频在线观看免费高清完整版在线观看| 青草热久免费精品视频| 青青青国产精品一区二区| 亚洲区免费影片| 91地址最新发布| 久久精品电影网站| 精品久久久中文| 91在线免费看网站| 国产亚洲精品成人av久久ww| 久久久国产91| 亚洲精品久久久久| 精品国产精品自拍| 久久久久久久久电影| 欧美午夜激情视频| 亚洲国产精品国自产拍av秋霞| 影音先锋日韩有码| 久久久久国产精品一区| 成人a视频在线观看| 国内免费久久久久久久久久久| 欧美性猛交99久久久久99按摩| 91av福利视频| 久久久久久久久久久成人| 亚洲欧美日韩精品久久亚洲区| 久久久久久久网站| 777国产偷窥盗摄精品视频| 国产精品h在线观看| 亚洲性av在线| 这里只有视频精品| 成年无码av片在线| 在线不卡国产精品| 91精品在线观看视频| 久久精品国产成人| 亚洲女人初尝黑人巨大| 美女999久久久精品视频| 欧美大片在线看| 久久久久亚洲精品| 国产精品入口福利| 欧美日韩国产va另类| 国产精品成人aaaaa网站| 91最新在线免费观看| 国产亚洲精品一区二555| 亚洲天堂免费在线| 亚洲欧美中文日韩在线| 日韩中文字幕视频在线| 欧亚精品中文字幕| 日韩毛片在线观看| 国产91精品黑色丝袜高跟鞋| 国产亚洲精品久久久久久777| 夜夜嗨av色综合久久久综合网| 成人午夜在线影院| 欧美精品久久久久久久久久| 91精品视频在线免费观看| 亚洲欧美一区二区三区情侣bbw| 精品在线小视频| 色在人av网站天堂精品| 国产欧美一区二区三区在线看| 欧美视频专区一二在线观看| 亚洲天堂成人在线视频| 日韩精品免费一线在线观看| 日韩中文字幕在线播放| 欧美乱妇40p| 成人观看高清在线观看免费| 欧美一级电影在线| 日韩av片电影专区| 欧美亚州一区二区三区| 国产精品一区二区性色av| 成人自拍性视频| 亚洲一区二区三区四区在线播放| 国产日韩欧美在线视频观看| 欧美黄色片视频| 亚洲精品v欧美精品v日韩精品| 亚洲老司机av| 国产精品中文字幕在线观看| 国产99久久久欧美黑人| 色综合久久88色综合天天看泰| 成人久久久久久久| 成人性生交大片免费看视频直播| 欧日韩不卡在线视频| 色一区av在线| 欧美激情奇米色| 97超级碰在线看视频免费在线看| 日本三级韩国三级久久| 夜夜嗨av一区二区三区免费区| 中文字幕欧美日韩va免费视频| 亚洲成人av在线| 欧美日韩国产精品一区| 91av视频在线播放| 亚洲国产成人久久综合| 欧美成人午夜视频| 亚洲无亚洲人成网站77777| 全球成人中文在线| 久久久久久九九九| 日韩美女主播视频| 91系列在线播放| 欧美成人免费大片| 国产日本欧美在线观看| 91久久精品国产91久久性色| 92国产精品视频| 国产精品91在线| 国产日本欧美视频| 亚洲精品视频免费| 亚洲乱码一区av黑人高潮| 亚洲精品福利在线| 欧美激情视频一区二区| 一区三区二区视频| 日韩av手机在线| 成人黄色片在线| 欧美成人性生活| 最近2019中文字幕一页二页| 欧美日韩亚洲网| 日本欧美精品在线| 欧美午夜片在线免费观看| 97在线视频免费| 色多多国产成人永久免费网站| 一区二区三区动漫| 国产激情久久久久| 亚洲欧美一区二区三区久久| 8x海外华人永久免费日韩内陆视频| 亚洲成年网站在线观看| 国产成人精品一区二区在线| 日韩av在线影院|