首页 > 代码库 > linux系统limit知识

linux系统limit知识

1.limit限制每个shell进程和它的子进程对资源的占用。每个登录,还是每个进程?

比如ulimit -n 10240 可以临时改变当前session的shell进程的文件句柄数限制,退出当前窗口后,限制恢复。

要每个shell都生效,添加到系统启动脚本中

也可以在进程启动脚本前添加ulimit -n 命令 

2.修改 /etc/security/limits,可以设置用户级别的限制,包括软限制和硬限制

3. 

/proc/sys/fs/file-max,可以设置系统级别的限制

 

应用:修改网络连接数限制

1、修改用户进程可打开文件数限制
最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)
查看进程打开文件描述符  /proc/1234/fd
2.修改tcp参数设置net.ipv4.ip_local_port_range
每个TCP客户端连接都要占用一个唯一的本地端口号(此端口号在系统的本地端口号范围限制中),如果现有的TCP客户端连接已将所有的本地端口号占满,则此时就无法为新的TCP客户端连接分配一个本地端口号了,因此系统会在这种情况下在connect()调用中返回失败,并将错误提示消息设为“Can‘t assignrequested address”

 

linux系统limit知识