久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

在Linux中如何修改打開文件數(shù)量限制

154次閱讀
沒有評論

共計(jì) 2771 個(gè)字符,預(yù)計(jì)需要花費(fèi) 7 分鐘才能閱讀完成。

這篇文章主要為大家展示了“在 Linux 中如何修改打開文件數(shù)量限制”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“在 Linux 中如何修改打開文件數(shù)量限制”這篇文章吧。

Linux 上的進(jìn)程受到許多限制,這些限制也阻礙它們正確地執(zhí)行,而且每個(gè)進(jìn)程都有幾個(gè)與之相關(guān)的限制。shell 限制程序可以同時(shí)打開的文件句柄的數(shù)量。

系統(tǒng)環(huán)境

Centos7

為什么要限制打開文件的數(shù)量?

因?yàn)椴僮飨到y(tǒng)需要內(nèi)存來管理每個(gè)文件,所以可以打開的文件數(shù)可能會受到限制。由于程序也可以關(guān)閉文件處理程序,它可以創(chuàng)建任意大小的文件,直到所有可用磁盤空間都已滿為止。在這種情況下,安全性的一個(gè)方面是通過施加限制來防止資源耗盡。

可以看到 Linux 系統(tǒng)中打開的文件描述符的最大數(shù)量,如下所示:

[root@localhost ~]# cat /proc/sys/fs/file-max 180965

以上代碼可復(fù)制粘貼,可往左滑

該值顯示用戶每次登錄會話可以打開的文件數(shù),你會注意到,結(jié)果可能會因系統(tǒng)而異。出于某些原因,可能需要增加限制集的值。這就是為什么 Linux 系統(tǒng)提供了修改這些限制的可能性(增加或減少),方法是更改每個(gè)進(jìn)程和每個(gè)系統(tǒng)打開文件數(shù)的最大值。

方法一:使用 ulimit 命令

ulimit 命令可用來增加在 shell 中打開文件的數(shù)量。這個(gè)命令是系統(tǒng)內(nèi)置命令,因此它只影響 bash 和從它啟動的程序。ulimit 語法如下:

ulimit [選項(xiàng)] [限制數(shù)值]

以上代碼可復(fù)制粘貼,可往左滑

下面選項(xiàng)決定了什么是有限的:

 -a 顯示當(dāng)前所有限制的報(bào)告

 -f (文件限制)限制 shell 能創(chuàng)建文件的大小

 -n 限制打開的文件描述符的數(shù)量。

 - H 和 -S 它們分別被設(shè)置為硬限制和軟限制。硬限制可能不會隨之增加,但軟限制可能會增加。如果沒有提供任何選項(xiàng),ulimit 將同時(shí)設(shè)置硬限制和軟限制。

查看當(dāng)前打開文件的軟限制,可以使用下面命令:

[root@localhost ~]# ulimit -a |grep open open files (-n) 1024  或者  [root@localhost ~]# ulimit -n 1024

以上代碼可復(fù)制粘貼,可往左滑

如果需要查看硬限制,適應(yīng)下面命令:

[root@localhost ~]# ulimit -Hn 4096

以上代碼可復(fù)制粘貼,可往左滑

下面修改打開文件的數(shù)量:

[root@localhost ~]# ulimit -n 2048

以上代碼可復(fù)制粘貼,可往左滑

然后來查看一下:

[root@localhost ~]# ulimit -Hn 2048 [root@localhost ~]# ulimit -Sn 2048

以上代碼可復(fù)制粘貼,可往左滑

發(fā)現(xiàn),設(shè)置 ulimit 值的時(shí)候,沒有指定 - H 或者 -S,兩個(gè)限制都會設(shè)定相同的值。

現(xiàn)在的問題是,如果退出登錄或者重新啟動計(jì)算機(jī),該值將被重置。請記住,要使生效,需要編輯用戶的.bashrc 或者.bash_profile 配置文件,通過將 ulimit 命令行添加到文件的末尾,可以使參數(shù)生效。

[root@localhost ~]# echo  ulimit -n 2048    ~/.bashrc

以上代碼可復(fù)制粘貼,可往左滑

方法二:使用 PAM 模塊

最好通過名為 pam_limits 的 PAM 模塊實(shí)現(xiàn)這種限制。需要通過編輯 /etc/security/limits.conf 文件來配置它。這個(gè)文件包含四個(gè)基本字段:

domain: 描述了在哪些實(shí)體中應(yīng)用限制。它可以是 user、group(組名前面加 @表示組)或匹配所有用戶, 使用 (*) 通配符。通配符不適應(yīng)與 root 用戶。

type: 這里表示限制為硬限制還是軟限制?硬限制是由系統(tǒng)管理員添加的,在任何情況下都不能超過,而用戶可以臨時(shí)超過軟限制。還可以使用破折號 - 來表示一個(gè)限制是硬的和軟的。請注意,軟限制可以增加到硬限制的值

type: 它指定被限制條目的類型。可以是 core(限制核心文件大小(KB)),data(最大數(shù)據(jù)大小(KB)),fsize(最大文件大小(KB)),nofile(打開的文件描述符的最大數(shù)目),nproc(最大進(jìn)程數(shù)),等類型。更多類型可以使用 man limits.conf 查看。

type: 這里使填寫應(yīng)用限制的數(shù)值。

下面實(shí)例可以對照了解一下。

[root@localhost ~]# tail -12 /etc/security/limits.conf # # #* soft core 0 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #@student - maxlogins 4 # End of file

以上代碼可復(fù)制粘貼,可往左滑

要編輯所有用戶打開文件的最大數(shù)量,可以在文件末尾添加以下行:

[root@localhost ~]# vim /etc/security/limits.conf * hard nofile 20000 * soft nofile 15000

以上代碼可復(fù)制粘貼,可往左滑

之后,需要編輯文件 /etc/pam.d/login 配置文件,在最后添加以下一條內(nèi)容:

[root@localhost ~]# vim /etc/pam.d/login session required pam_limits.so

以上代碼可復(fù)制粘貼,可往左滑

保存文件。然后退出登錄,或者重啟系統(tǒng)。可以看到軟限制和硬限制的值都修改成功了:

[root@localhost ~]# ulimit -Sn 15000 [root@localhost ~]# ulimit -Hn 20000

方法三:

查看系統(tǒng)最大打開文件描述符數(shù)量:

[root@localhost ~]# cat /proc/sys/fs/file-max 180965

臨時(shí)設(shè)置該值:

[root@localhost ~]# echo  1000000    /proc/sys/fs/file-max

永久性設(shè)置,需要在 /etc/sysctl.conf 中設(shè)置,并讓它生效:

[root@localhost ~]# echo  fs.file-max = 1000000    /etc/sysctl.conf [root@localhost ~]# sysctl -p fs.file-max = 1000000

以上是“在 Linux 中如何修改打開文件數(shù)量限制”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-25發(fā)表,共計(jì)2771字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 马关县| 柏乡县| 承德县| 新绛县| 于田县| 昂仁县| 云南省| 曲水县| 大荔县| 枣庄市| 昌乐县| 沙田区| 周宁县| 措勤县| 长兴县| 富顺县| 巴林右旗| 儋州市| 平潭县| 镇远县| 苏尼特左旗| 若羌县| 安国市| 永宁县| 柏乡县| 泽库县| 航空| 抚顺县| 特克斯县| 唐海县| 青浦区| 东平县| 南陵县| 普兰店市| 丽水市| 时尚| 浪卡子县| 松阳县| 兴义市| 准格尔旗| 乐业县|