成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

3種方法教你在Linux中修改打開文件數量限制

系統 Linux
當文件被打開訪問時,操作系統臨時分配一個名為文件句柄的數字。主內存的一個特殊區域是為文件句柄預留的,這個區域的大小決定了一次可以打開多少個文件。

[[357472]]

 當文件被打開訪問時,操作系統臨時分配一個名為文件句柄的數字。主內存的一個特殊區域是為文件句柄預留的,這個區域的大小決定了一次可以打開多少個文件。

[[357473]]

Linux上的進程受到許多限制,這些限制也阻礙它們正確地執行,而且每個進程都有幾個與之相關的限制。shell限制程序可以同時打開的文件句柄的數量。

系統環境

Centos7

為什么要限制打開文件的數量?

因為操作系統需要內存來管理每個文件,所以可以打開的文件數可能會受到限制。由于程序也可以關閉文件處理程序,它可以創建任意大小的文件,直到所有可用磁盤空間都已滿為止。在這種情況下,安全性的一個方面是通過施加限制來防止資源耗盡。

可以看到Linux系統中打開的文件描述符的最大數量,如下所示: 

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

<以上代碼可復制粘貼,可往左滑>

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

方法一:使用ulimit命令

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

  1. ulimit  [選項] [限制數值] 

<以上代碼可復制粘貼,可往左滑>

下面選項決定了什么是有限的:

  •  -a 顯示當前所有限制的報告
  •  -f (文件限制)限制shell能創建文件的大小
  •  -n 限制打開的文件描述符的數量。
  •  -H和-S 它們分別被設置為硬限制和軟限制。硬限制可能不會隨之增加,但軟限制可能會增加。如果沒有提供任何選項,ulimit將同時設置硬限制和軟限制。

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

  1. [root@localhost ~]# ulimit -a |grep open  
  2. open files                      (-n) 1024  
  3. 或者  
  4. [root@localhost ~]# ulimit -n  
  5. 1024 

<以上代碼可復制粘貼,可往左滑>

如果需要查看硬限制,適應下面命令: 

  1. [root@localhost ~]# ulimit -Hn  
  2. 4096 

<以上代碼可復制粘貼,可往左滑>

下面修改打開文件的數量: 

  1. [root@localhost ~]# ulimit -n 2048 

<以上代碼可復制粘貼,可往左滑>

然后來查看一下: 

  1. [root@localhost ~]# ulimit -Hn  
  2. 2048  
  3. [root@localhost ~]# ulimit -Sn  
  4. 2048 

<以上代碼可復制粘貼,可往左滑>

發現,設置ulimit 值的時候,沒有指定-H或者-S,兩個限制都會設定相同的值。

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

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

<以上代碼可復制粘貼,可往左滑>

方法二:使用PAM模塊

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

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

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

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

type: 這里使填寫應用限制的數值。

下面實例可以對照了解一下。 

  1. [root@localhost ~]# tail -12 /etc/security/limits.conf   
  2.  
  3.  
  4. #*               soft    core            0  
  5. #*               hard    rss             10000  
  6. #@student        hard    nproc           20  
  7. #@faculty        soft    nproc           20  
  8. #@faculty        hard    nproc           50  
  9. #ftp             hard    nproc           0  
  10. #@student        -       maxlogins       4  
  11. # End of file 

<以上代碼可復制粘貼,可往左滑>

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

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

<以上代碼可復制粘貼,可往左滑>

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

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

<以上代碼可復制粘貼,可往左滑>

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

  1. [root@localhost ~]# ulimit -Sn  
  2. 15000  
  3. [root@localhost ~]# ulimit -Hn  
  4. 20000 

<以上代碼可復制粘貼,可往左滑>

方法三:

查看系統最大打開文件描述符數量: 

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

<以上代碼可復制粘貼,可往左滑>

臨時設置該值: 

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

<以上代碼可復制粘貼,可往左滑>

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

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

<以上代碼可復制粘貼,可往左滑>

總結

所有進程打開的文件描述符數量不能超過/proc/sys/fs/file-max。單個進程打開的文件描述符數不能超過user limit中nofile的soft limit。nofile的soft limit不能超過其hard limit。 

 

責任編輯:龐桂玉 來源: 良許Linux
相關推薦

2021-11-26 09:10:19

Linux文件命令

2020-11-13 09:14:23

Linux重復文件命令行

2009-06-02 08:44:52

微軟Windows 7操作系統

2021-12-28 00:21:29

Windows 10Windows微軟

2011-12-26 10:35:03

Windows系統Linux系統

2011-12-26 10:28:59

Linux學習環境Linux系統

2019-06-04 15:34:05

WindowsLinuxLinux命令

2022-05-31 16:00:46

Go 編程語言復制文件Go 標準庫

2020-12-26 14:48:21

UbuntuLinuxDeb文件

2010-05-27 18:18:14

MySQL修改root

2024-01-10 08:20:50

Linux編輯器pico

2018-11-13 11:09:46

Linux服務器指標限制

2019-01-03 15:43:25

Linux內存shell

2011-03-15 14:16:27

2010-03-29 15:57:34

2018-12-19 19:30:46

JavaScript創建對象前端

2016-12-01 18:49:39

LinuxISO提取和復制文件

2009-05-07 14:18:21

2022-11-18 15:09:29

2019-04-02 08:00:03

Linux端口遠程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲 中文 欧美 日韩 在线观看 | av毛片| 中文字幕在线一区二区三区 | 国产在线精品一区二区三区 | 丁香五月缴情综合网 | 欧美影院 | 久久精品91久久久久久再现 | 日本福利一区 | 中文字幕中文字幕 | 丁香六月激情 | 久久性| 美女久久久久久久久 | 91视频在线看 | 久久久这里都是精品 | 91精品国产一区二区 | 欧美偷偷操 | 一级毛片黄片 | 精品久久久久久久久久久下田 | 一级黄a视频 | 亚洲国产精品99久久久久久久久 | 日韩中文字幕网 | 日韩av在线播 | 精品香蕉一区二区三区 | 国产激情三区 | 欧美日韩国产高清视频 | 欧美黄色免费网站 | 日韩三区 | h漫在线观看 | 午夜影视免费片在线观看 | 日本久久久久久 | 欧美成人高清 | 久久久久免费观看 | 资源首页二三区 | 成人av观看 | 亚洲一级视频在线 | 激情五月婷婷丁香 | 日韩欧美国产精品一区二区 | 日韩欧美在线播放 | 亚洲精品中文字幕在线观看 | 午夜99| 国产精品久久久久久久久久久新郎 |