linux文件傳輸大小限制配置,【Linux】一些文件限制配置


linux資源限制配置文件是/etc/security/limits.conf;限制用戶進程的數量對於linux系統的穩定性非常重要。 limits.conf文件限制着用戶可以使用的最大文件數,最大線程,最大內存等資源使用量。

/etc/security/limits.conf 配置文件可限制文件打開數,系統進程等資源,在該文件配置中寫的最大用戶進程數是受/etc/security/limits.d/90-nproc.conf配置上限影響的。一般系統普通用戶進程數滿了都是修改/etc/security/limits.d/90-nproc.conf文件

* soft nofile 655350 #任何用戶可以打開的最大的文件描述符數量,默認1024,這里的數值會限制tcp連接

* hard nofile 655350

* soft nproc 655350 #任何用戶可以打開的最大進程數

* hard nproc 650000

@student hard nofile 65535

@student soft nofile 4096

@student hard nproc 50 #學生組中的任何人不能擁有超過50個進程,並且會在擁有30個進程時發出警告

@student soft nproc 30

hard和soft兩個值都代表什么意思呢? soft是一個警告值,而hard則是一個真正意義的閥值,超過就會報錯

一、所有用戶創建的進程數

[root@os~]# ps h -Led -o user | sort | uniq -c | sort -n

1 chrony

1 dbus

2 chenpz

7 polkitd

105 www

156 root

二、系統最大打開文件描述符數

1、查看

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

6815744

2、配置

[root@os~]# cat /etc/sysctl.conf |grep file-max

fs.file-max = 6815744

三、進程最大打開文件描述符數

查看soft limit

[root@os ~]# ulimit -n

65535

查看hard limit

[root@os ~]# ulimit -Hn

65535

臨時設置

通過ulimit -Sn設置最大打開文件描述符數的soft limit,注意soft limit必須小於hard limit

ulimit -Sn 160000

同時設置soft limit和hard limit。對於非root用戶只能設置比原來小的hard limit。

ulimit -n 180000

永久設置

root權限下,在/etc/security/limits.conf中添加如下兩行,表示所有用戶最大打開文件描述符數的soft limit為102400,hard limit為104800。重啟生效

* soft nofile 102400

* hard nofile 104800

注意:設置nofile的hard limit還有一點要注意的就是hard limit不能大於/proc/sys/fs/nr_open,假如hard limit大於nr_open,注銷后將無法正常登錄。

四、查看當前系統使用的打開文件描述符數

[root@os ~]# cat /proc/sys/fs/file-nr

7584 0 6815744

其中第一個數表示當前系統已分配使用的打開文件描述符數,第二個數為分配后已釋放的(目前已不再使用),第三個數等於file-max。

五、知道了/etc/security/limits.conf中的參數含義之后,那么如何配置nofile,確定nofile的最大值呢。

使用ulimt -n命令進行測試,如果小於系統允許的最大值,設置成功,大於最大值,系統會報錯提示。

六、ulimit -a/n/H/S 都有什么含義

ulimit -a 顯示當前所有的資源限制 ulimit -H 設置硬件資源限制 ulimit -S 設置軟件資源限制 ulimit -n 設置進程最大打開文件描述符數

ulimit -u  用戶最多可開啟的程序數目

七、使用 ps 命令查看進程啟動的精確時間和啟動后所流逝的時間

[root@os ~]# ps -eo pid,lstart,etime,cmd | grep nginx

1334 Tue Sep 29 17:45:02 2020 6-22:28:14 nginx: master process /usr/local/openresty/nginx/sbin/nginx -c /etc/nginx/nginx.conf

1335 Tue Sep 29 17:45:02 2020 6-22:28:14 nginx: worker process

1336 Tue Sep 29 17:45:02 2020 6-22:28:14 nginx: worker process

1337 Tue Sep 29 17:45:02 2020 6-22:28:14 nginx: worker process

1338 Tue Sep 29 17:45:02 2020 6-22:28:14 nginx: worker process

1339 Tue Sep 29 17:45:02 2020 6-22:28:14 nginx: cache manager process

總結

a. 所有進程打開的文件描述符數不能超過/proc/sys/fs/file-max

b. 單個進程打開的文件描述符數不能超過user limit中nofile的soft limit c. nofile的soft limit不能超過其hard limit d. nofile的hard limit不能超過/proc/sys/fs/nr_open

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM