linux系统资源限制-ulimit详解:

.查看文件句柄使用情况:

lsof -n | awk '{print $2}' | sort | uniq -c | grep'pid of mysql'

.查看3306 连接数:

netstat -ano | grep ip:3306 | awk '{print $5}' | awk-F ':' '{print $1}' | sort | uniq -c

.iptables 限制最大连接数来处理(每个ip并发连接不超过200):

iptables -A INPUT -p tcp -m tcp --dport 3306--tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 200--connlimit-mask 32 -j REJECT --reject-with tcp-reset

.文件句柄跟文件描述符都跟文件没关系文件句柄是你操作的一个对象对于程序来说就是文件文件描述符是操作系统维护的一个整数这个整数就是操作系统文件描述符表里关于这个文件句柄的索引值

系统运行中:文件句柄=文件描述符数

.查看系统级别资源限制:

1.系统级别:

sysctl -a (-a:显示当前所有可用的值)

cat /proc/sys/fs/file-max 等一系列值


2.session 设置:

ulimit -a # 查看所有的


ulimit -S -n1024 #设置当前会话的打开文件数软连接数为 1024.

ulimit -H -n1024 #设置当前会话的打开文件数硬连接数为 1024.

ulimit -n 996 #设置当前会话的打开文件数硬&&软连接数都为 1024.


3.设置用户(只针对用户的每个进程)

#<domain> <type> <item> <value>

#

* soft nofile 32768

* hard nofile 65536

<item> can be one of the following:

# - core- limits the core file size (KB)

# - data- max data size (KB)

# -fsize - maximum filesize (KB)

# -memlock - max locked-in-memory address space (KB)

# -nofile - max number of open files

# - rss- max resident set size (KB)

# -stack - max stack size (KB)

# - cpu- max CPU time (MIN)

# -nproc - max number of processes

# - as -address space limit

# -maxlogins - max number of logins for this user

# -maxsyslogins - max number of logins on the system

# -priority - the priority to run user process with

# -locks - max number of file locks the user can hold

# -sigpending - max number of pending signals

# -msgqueue - max memory used by POSIX message queues (bytes)

# - nice- max nice priority allowed to raise to

# -rtprio - max realtime priority