.gpg 进程 linux,小知识之Linux系统中的最大进程数,最大文件描述,最大线程数...
今天來了解一下linux里面的一些小知識(shí):
(一)Linux系統(tǒng)中最大可以起多少個(gè)進(jìn)程?
(1)32位系統(tǒng)中最多可以起32768個(gè)進(jìn)程
(2)64位系統(tǒng)中最多可以起2的22次方(4194304)約420萬個(gè)
如何查看linux系統(tǒng)默認(rèn)的最大進(jìn)程數(shù),這里以centos7(x64)作為例子:
[root@es1 ~]# cat /proc/sys/kernel/pid_max
131072
[root@es1 ~]# ulimit -a | grep processes
max user processes (-u) 15012
[root@es1 ~]# cat /proc/1/limits |grep processes
Max processes 15012 15012 processes
[root@es1 ~]#
上面使用了三種方法:
注意第一種才是內(nèi)核級(jí)別的配置,后面的設(shè)置不能超過內(nèi)核級(jí)別設(shè)置的限制,這個(gè)值是可以具體的情況修改的,centos7(x64)給的還是比較大,在centos6好像給的是32768
(二)Linux系統(tǒng)中的最大文件描述符?
文件描述符定義:
文件描述符在形式上是一個(gè)非負(fù)整數(shù)。實(shí)際上,它是一個(gè)索引值,指向內(nèi)核為每一個(gè)進(jìn)程所維護(hù)的該進(jìn)程打開文件的記錄表。當(dāng)程序打開一個(gè)現(xiàn)有文件或者創(chuàng)建一個(gè)新文件時(shí),內(nèi)核向進(jìn)程返回一個(gè)文件描述符
關(guān)于文件描述符的最大數(shù)量,其實(shí)是可以無限大的,但考慮到每一個(gè)文件描述符都需要一定數(shù)量的內(nèi)存和磁盤維護(hù),所以還是有限制的,另外一個(gè)問題,為什么linux系統(tǒng)要限制文件描述符的數(shù)量?
原因有兩方面:
(1)系統(tǒng)本身的資源有限
(2)比如一個(gè)機(jī)器有多個(gè)用戶,如果沒有限制,某一個(gè)用戶起了無限多的進(jìn)程和無休止的創(chuàng)建文件描述符,就直接有可能導(dǎo)致整臺(tái)機(jī)器掛掉,影響了其他正常的用戶的使用,所以還是有必要給不同的用戶根據(jù)所需限制文件描述的數(shù)量,避免一定程度上的fork bomb的問題出現(xiàn)。
下面看幾個(gè)關(guān)于文件描述符的命令:
[root@es1 ~]# cat /proc/sys/fs/file-max
379804
[root@es1 ~]# ulimit -n
65536
[root@es1 ~]# lsof | wc -l
2201
[root@es1 ~]#
第一個(gè)命令代表:當(dāng)前系統(tǒng)允許創(chuàng)建的最大文件描述符的數(shù)量
第二個(gè)命令代表:當(dāng)前會(huì)話session的允許創(chuàng)建的最大文件描述符,默認(rèn)每個(gè)進(jìn)程允許打開的最大文件描述符數(shù)量應(yīng)該是1024
第三個(gè)命令代表:統(tǒng)計(jì)當(dāng)前所有進(jìn)程的占用的文件描述符的總量
注意lsof命令默認(rèn)系統(tǒng)是沒有安裝的,需要執(zhí)行下面的命令安裝,此外這個(gè)命令需要用root執(zhí)行:
yum install -y lsof
最后再記錄一個(gè)比較實(shí)用的命令,查看每個(gè)進(jìn)程打開的文件描述符的數(shù)量,并按打開的數(shù)量降序排序:
lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr
結(jié)果:
````
306 637
261 651
130 1112
117 650
88 1110
68 615
62 638
62 1
55 870
第一列是文件描述符數(shù)量,第二列是進(jìn)程id
(三)Linux系統(tǒng)中的最大線程數(shù)量
其實(shí)最大線程數(shù)量也可以配置無限大,在資源充足的情況下,但一般都有會(huì)默認(rèn)限制,主要影響線程的參數(shù)如下:
ulimit -s 棧大小設(shè)置
ulimit -i 阻塞的引號(hào)量
ulimit -u 最大的線程/進(jìn)程數(shù)
/proc/sys/kernel/threads-max 最大線程數(shù)量
/proc/sys/vm/max_map_count 限制一個(gè)進(jìn)程可以擁有的VMA(虛擬內(nèi)存區(qū)域)的數(shù)量
/proc/sys/kernel/pid_max 最大進(jìn)程數(shù)量
總結(jié):
正常的情況下,系統(tǒng)默認(rèn)的配置已經(jīng)足夠我們用了,除非想進(jìn)行一些極限性能測試或者性能優(yōu)化,這時(shí)候可以根據(jù)具體的情況來調(diào)整上面提到的幾個(gè)參數(shù)。
總結(jié)
以上是生活随笔為你收集整理的.gpg 进程 linux,小知识之Linux系统中的最大进程数,最大文件描述,最大线程数...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云雾茶的功效与作用、禁忌和食用方法
- 下一篇: 炸蝎子的功效与作用、禁忌和食用方法