Ulimt的学习

Posted ybyqjzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ulimt的学习相关的知识,希望对你有一定的参考价值。

1. 为什么需要使用Ulimt

1. 利用ulimit命令可以对资源的可用性进行控,Linux系统打开文件最大数量限制(进程打开的最大文件句柄数设置)。

2. -H选项和-S选项分别表示对给定资源的硬限制(hard limit)和软限制(soft limit)进行设置。

3. 硬限制(hard limit)一旦被设置以后就不能被非root用户修改,软限制(soft limit)可以增长达到硬限制(hard limit)。

4. 如果既没有指定-H选项也没有指定-S选项,那么硬限制(hard limit)和软限制(soft limit)都会被设置。

5. limit的值可以是一个数值,也可以是一些特定的值,比如:hard,soft,unlimited,分别代表当前硬件限制、当前软件限制、不限制。

6. 如果limit参数被省略,除非指定-H选项,否则资源当前的软限制(soft limit)将会被打印出来。

2. 查看文件最大打开数量限制

[[email protected] ~]# cat /proc/sys/fs/file-max 查看系统级别的最大文件打开数限制
184337
[[email protected] ~]# ulimit -n 查看用户级的限制,阿里云服务器一般是65535
65535
[[email protected] ~]# ulimit -a 查看ulimit的所有限制
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7282
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 7282
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

 3. 查看某个进程已经打开的文件数

 1 [[email protected] ~]# ps -ef|grep -i "[m]ongod" 查看进程ID,目前MongoDB的pid进程号是4842
 2 root       791     1  0 Jan31 ?        00:00:00 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient--eth0.lease -pf /var/run/dhclient-eth0.pid -H hotcoin-mongodb-primary eth0
 3 root       961     1  0 Jan31 ?        00:00:00 /sbin/dhclient -q -lf /var/lib/dhclient/dhclient--eth1.lease -pf /var/run/dhclient-eth1.pid -H hotcoin-mongodb-primary eth1
 4 mongod    4842     1 99 Jan31 ?        1-10:26:55 mongod -f /mongodb/27017/conf/mongo.conf
 5 [[email protected] ~]# cat /proc/4842/limits 查看4842进程号的相关的ulimit的信息
 6 Limit                     Soft Limit           Hard Limit           Units     
 7 Max cpu time              unlimited            unlimited            seconds   
 8 Max file size             unlimited            unlimited            bytes     
 9 Max data size             unlimited            unlimited            bytes     
10 Max stack size            8388608              unlimited            bytes     
11 Max core file size        0                    unlimited            bytes     
12 Max resident set          unlimited            unlimited            bytes     
13 Max processes             655350               655350               processes 
14 Max open files            655350               655350               files     
15 Max locked memory         65536                65536                bytes     
16 Max address space         unlimited            unlimited            bytes     
17 Max file locks            unlimited            unlimited            locks     
18 Max pending signals       63471                63471                signals   
19 Max msgqueue size         819200               819200               bytes     
20 Max nice priority         0                    0                    
21 Max realtime priority     0                    0                    
22 Max realtime timeout      unlimited            unlimited            us        
23 [[email protected] ~]# cat /proc/4842/limits |grep files
24 Max open files            655350               655350               files     
25 [[email protected] ~]# ll /proc/4842/fd | wc -l 查看4842进程打开了多少文件
26 76977

 

 

 

 

 

 

 

以上是关于Ulimt的学习的主要内容,如果未能解决你的问题,请参考以下文章

java SpringRetry学习的代码片段

python 机器学习有用的代码片段

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

学习笔记:python3,代码片段(2017)

PHP必用代码片段

Kotlin学习之旅解决错误:kotlin.NotImplementedError: An operation is not implemented: Not yet implemented(代码片段